我有一个NoSuchElementException超时时间的问题,它似乎默认为30秒,我想缩短它。所以我写了这样的事情:Selenium WebDriver与Java NoSuchElementException超时
WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("someid")));
element.click();
,我得到这个消息:
org.openqa.selenium.TimeoutException: Timed out after 10 seconds waiting for element to be
clickable: By.id: someid
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.openqa.selenium.NoSuchElementException: Unable to locate element:
{"method":"id","selector":"someid"}
Command duration or timeout: 30.03 seconds
所以第一个消息就是我希望的WebDriverWait将覆盖NoSuchElementException异常超时,但我仍然得到充分30秒。无论如何,有什么办法摆脱这一点?
哼隐含地Wait()实际上工作,你有什么想法为什么WebDriverWait方法没有? – user1593846
不,我不知道 – stan
是的。 WebDriverWait无法正常工作,因为您在调用elementToBeClickable。我想可能要'wait.until(ExpectedConditions.not(ExpectedConditions.invisiblilityOfElementLocated(By.id(“someid”)));'' – sircapsalot