java 当其他测试步骤正在使用 selenium 运行时,是否有任何方法可以等待元素?

xesrikrc  于 2022-12-25  发布在  Java
关注(0)|答案(1)|浏览(138)

我怎么能在30秒内检查元素是否出现?
我想跳过其他步骤,而寻找一个特定的元素,我想点击,如果该元素显示。
有时元素会在2秒或10秒后弹出(例如,另一个页面已经打开),我不想等待找到元素。
我尝试了以下方法,但如果元素没有显示,测试将失败:

driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
MyLocator.click();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //turn default
jjjwad0x

jjjwad0x1#

我觉得你应该读读"明确等待"
Selenium中的显式等待用于通知Web驱动程序等待某些条件(预期条件)或超过最大时间后才会引发"ElementNotVisibleException"异常。
例如:

WebDriverWait wait = new WebDriverWait(Scenario1Test.driver, 30); 
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(locator);
element.click()

相关问题