【问题标题】:Wait in Selenium not functioning for a given element在 Selenium 中等待对给定元素不起作用
【发布时间】:2014-08-07 21:32:13
【问题描述】:

我试图让 WebDriver 等待一个元素出现,但我只有几段代码要运行。这是按钮的html正文内容;

<input class="btn" value="Analyze" type="button" data-bind="click:$root.windowsAnalysis.analyzeFilesClick,enable:$root.windowsAnalysis.analyzeFilesEnabled">

我在测试中添加了以下行,但它没有让 WebDriver '等待'。

 new WebDriverWait(Login.driver,10).until(ExpectedConditions.visibilityOf
(Login.driver.findElement(By.cssSelector("input[@class='btn'][@value='Analyze']"))));

有什么想法吗?

提前致谢

【问题讨论】:

  • 问题似乎出在 cssSelector 上。我用 xpath 引用替换了它,脚本现在正在执行,并根据需要等待。很高兴结束这个问题。

标签: java selenium-webdriver css-selectors wait


【解决方案1】:

问题在于您的 CSS 路径,

By.cssSelector("input[@class='btn'][@value='Analyze']");

类和值前的@无效,应该是,

By.cssSelector("input[class='btn'][value='Analyze']");

【讨论】:

  • 谢谢维涅什。正如评论的那样,我已经用“xpath”替换了“cssSelector”来最初解析。我已经在代码中实现了您的解决方案,效果很好,脚本完成没有错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-14
  • 1970-01-01
  • 2015-10-09
  • 2023-03-05
  • 1970-01-01
相关资源
最近更新 更多