【问题标题】:Java/Selenium automation click on xpathJava/Selenium 自动化点击 xpath
【发布时间】:2013-12-15 14:47:21
【问题描述】:

无法点击链接 ENG

检查元素:

<a class="inactive" href="up/../orders;jsessionid=plhvSY2PZQpwKCLqKn7y3GBnb8nZDVn5dfXWwjPHpRX4m1skcLcg!742200689?request_locale=en">
Text - ENG

Java 代码:

driver.findElement(By.xpath("//a[contains(text(),'ENG')]")).click();

也许我应该试试href?

【问题讨论】:

  • 检查元素:和文本 - ENG
  • 元素是否可见并已启用? selenium 只能点击用户也可以点击的元素
  • 是的,此链接可将语言更改为 ENG。在浏览器中我看到 ENG,何时检查元素结果在上方。
  • 硒会产生什么错误?如果 selenium 也认为它应该是可点击的,你也可以检查你找到的元素上的 isDisplayed()
  • org.openqa.selenium.NoSuchElementException: Unable to find element with xpath == //*[text()='ENG'] (警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:360 毫秒有关此错误的文档,请访问:seleniumhq.org/exceptions/no_such_element.html

标签: java xpath selenium automation click


【解决方案1】:

你可以试试这个,

new WebDriverWait(driver,60).until(ExpectedConditions.visibilityOfElementLocated(By.linkText("ENG"))).click();

【讨论】:

  • 谢谢大家,问题出在框架上。我将 /index?frameContainer=true/ 添加到我的网页链接,上面的所有变体都开始工作。我一直在寻找 i 框架,没有找到因此首先跳过这个变体。
【解决方案2】:

您可以尝试使用 PartialLinkText 定位器,而不是通过 xpath 定位。

【讨论】:

    【解决方案3】:

    试试这个:

    driver.findElement(By.linkText("ENG")).click();
    

    【讨论】:

      猜你喜欢
      • 2021-06-09
      • 1970-01-01
      • 1970-01-01
      • 2022-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多