Selenium错误 - 显式等待不起作用

时间:2017-10-28 09:16:05

标签: java selenium

代码:

WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement btn = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@class='_1vp5 f_click']")));
btn.click();

错误:

  

系统信息:主机:' ADMIN-PC',ip:' 192.168.1.6',os.name:' Windows 10',os.arch :' x86',os.version:' 10.0',java.version:' 1.8.0_144'   驱动程序信息:driver.version:未知       在org.openqa.selenium.support.ui.ExpectedConditions.lambda $ findElement $ 0(ExpectedConditions.java:882)       at java.util.Optional.orElseThrow(Unknown Source)       at org.openqa.selenium.support.ui.ExpectedConditions.findElement(ExpectedConditions.java:881)       在org.openqa.selenium.support.ui.ExpectedConditions.access $ 000(ExpectedConditions.java:43)       在org.openqa.selenium.support.ui.ExpectedConditions $ 7.apply(ExpectedConditions.java:205)       在org.openqa.selenium.support.ui.ExpectedConditions $ 7.apply(ExpectedConditions.java:201)       在org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:208)       ......还有1个

2 个答案:

答案 0 :(得分:1)

我认为visibilityOfElementLocated应该有两个参数。 首先 - 你的选择器。 第二个 - 页面上的实际选择器。

对于你的情况应该是这样的(Python中的代码):

ui.WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH, "//*[@class='_1vp5']")))

答案 1 :(得分:1)

此代码现在正在运行:

WebElement btn = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@class='_1vp5']")));