public class Ajax_steps {
private String URL = "http://demo.guru99.com/selenium/ajax.html";
private WebDriver driver;
private WebDriverWait wait;
public void start(){
System.setProperty("webdriver.chrome.driver", "src/test/drivers/chromedriver.exe");
driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
driver.get(URL);
wait = new WebDriverWait(driver, 3);
wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".container")));
driver.findElement(By.id("yes")).click();
driver.findElement(By.id("buttoncheck")).click();
WebElement textElement = driver.findElement(By.className("radiobutton"));
wait.until(ExpectedConditions.visibilityOf(textElement));
driver.close();
}
}
上面的代码工作正常。但我需要一个修改,就像我们宣布new WebDriverWait
3秒钟一样。我希望它等待无限时间......我怎么能这样做......
答案 0 :(得分:0)
只需更改以下参数
user1.save().then(savedUser => console.log(`saved user: ${savedUser}`));
您应该尝试使用driver.manage().timeouts().implicitlyWait(365, TimeUnit.DAYS);
或ExplicitWait
。
FluentWait :在您的元素存在或没有给定时间天气的情况下合并
FluentWait
我希望你正在寻找这个解决方案。
答案 1 :(得分:0)
当您使用 Java
并尝试通过增加 WebDriverWait
来强调 timeOutInSeconds
构造函数参数参数,我们需要记住 Java
支持原始数据类型。所以当我们提到:
wait = new WebDriverWait(driver, 3);
timeOutInSeconds
参数可以增加到 integer
Primitive Data Type
的最高限制,即 {{1 }} 即可。
如果您尝试将 2147483647
的时间限制超出此限制,则您使用的IDE将显示 timeOutInSeconds
或运行时,对 Compilation Errors
的调用可能会返回不正确的结果。