用显式等待替换隐式等待(selenium webdriver & java)

Mik*_*keT 5 java selenium selenium-webdriver webdriverwait implicitwait

如何用显式等待替换这种隐式等待?

驱动程序 = 新的 ChromeDriver(功能);

driver.manage().deleteAllCookies();

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

这在 Before 方法中使用。我能够替换代码中的所有 Thread.sleep(),但我不确定对这个做了什么。

Shu*_*ain 1

一旦声明,implicitlyWait它将在整个脚本运行过程中应用于您的所有元素。因此首先声明它以防止脚本失败。

现在,如果有元素需要显式等待,那么只需在执行某些操作之前声明它或使用相同的引用即可。显式等待不会在整个过程中应用implicitlyWait

例子 :-

WebElement seleniumlink;
seleniumlink= wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//input[@id='add_files_btn']")));
seleniumlink.click();
Run Code Online (Sandbox Code Playgroud)

请参阅以下链接了解更多详情:-

https://www.guru99.com/implicit-explicit-waits-selenium.html