gpt4 book ai didi

java - 自定义等待 try catch webdriver

转载 作者:行者123 更新时间:2023-12-02 12:49:53 24 4
gpt4 key购买 nike

我有一段代码需要存储在 try catch block 中。

这是一段代码。我说的是

    try{
this.driver.manage().timeouts().implicitlyWait(3000, TimeUnit.MILLISECONDS);

this.wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.id("PegaGadget0Ifr")));


} catch(Exception e){
System.out.println(e.toString());
}

正如我现在所设置的那样,它可以工作,但如果框架不可用,它将等待 60 秒,然后再进入 catch 是否可以为 try catch block 设置自定义超时。

我认为implicitlyWait()会解决这个问题(认为如果框架不可用,隐式等待将尝试池化DOM对象3秒,然后移动到catch),但它似乎不起作用。但它仍然等待60超时前的秒数并说明

'Timed out after 60 seconds waiting for frame to be available:'

任何人都可以告诉我如何修改超时中的等待构建。或者在 try catch block 上设置超时,这样如果框架不可用,我就不必等待 1 分钟,只需继续脚本?

谢谢。

最佳答案

我自己找到了答案。本质上我需要做的是修改尝试条件中的显式等待。因此后面的等待步骤将等待您指定的秒数。

这是代码示例

try{


WebDriverWait customWait = new WebDriverWait(driver, 2); //2 is for seconds before timingout

customWait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.id("PegaGadget0Ifr")));


} catch(Exception e){
System.out.println(e.toString());
}

关于java - 自定义等待 try catch webdriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44637065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com