【问题标题】:Selenium Error -- Explicit wait does not workSelenium 错误——显式等待不起作用
【发布时间】:2017-10-28 09:16:04
【问题描述】:

代码:

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' 驱动程序信息:驱动程序版本:未知 在 org.openqa.selenium.support.ui.ExpectedConditions.lambda$findElement$0(ExpectedConditions.java:882) 在 java.util.Optional.orElseThrow(未知来源) 在 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 更多

【问题讨论】:

  • 这只发生在那个 xpath 上吗?
  • 是的,它只发生在那个 xpath 上

标签: java selenium


【解决方案1】:

此代码正在运行:

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

【讨论】:

  • 我的回答有帮助吗?
  • 好的,你可以在我的答案附近设置勾号。谢谢。
【解决方案2】:

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

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

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

【讨论】:

  • 这个答案没有帮助,帮助的是使用 (By.XPATH, "//[@class='_1vp5']") 而不是 (By.XPATH, "//*[@class='_1vp5 f_click']")
  • 你是对的。这是我的错。谢谢。更新了答案。
猜你喜欢
  • 1970-01-01
  • 2021-08-16
  • 1970-01-01
  • 2015-10-09
  • 1970-01-01
  • 1970-01-01
  • 2013-11-15
  • 2020-01-15
  • 2022-06-22
相关资源
最近更新 更多