【问题标题】:Selenium: Element not located via LINK_TEXT or PARTIAL_LINK_TEXTSelenium:未通过 LINK_TEXT 或 PARTIAL_LINK_TEXT 定位的元素
【发布时间】:2013-05-05 08:57:37
【问题描述】:

我正在尝试找到一种可靠的方法来在 Web 应用程序的下拉用户菜单中找到注销链接。这是链接的 html:

<a href="logout.jsp">Logout</a> 

我尝试了以下方法:

    /** The logout link */
@FindBy(how = How.PARTIAL_LINK_TEXT, using = "Logout")
private WebElement logoutLink;

    /** The logout link */
@FindBy(how = How.LINK_TEXT, using = "Logout")
private WebElement logoutLink;

但是,在尝试访问注销链接时,我不断收到 NoSuchElementException。 LINK_TEXT 方法之前有效,并且在最近几天神秘地停止了工作。我尝试了 PARTIAL_LINK_TEXT 方法只是为了踢球,但它也失败了。有没有人可以告诉我为什么无法找到链接的原因。我在包含此链接的类上使用 PageFactory.initElements 并且其他 Web 元素的位置没有问题。

【问题讨论】:

    标签: java selenium automation selenium-webdriver


    【解决方案1】:

    这是 Selenium 的一个缺陷。我输入了一个错误,并将在下周的某个时间发布一个示例页面和脚本来重现它。

    http://code.google.com/p/selenium/issues/detail?id=5772

    【讨论】:

      【解决方案2】:

      请再次检查链接的实际文本。它不起作用可能是文本中可能有空格或可能是大写,小写。 你也可以试试,

      @FindBy(linkText = “Logout”)
      

      部分链接文本

      @FindBy(partialLinkText = “Logout”)
      

      【讨论】:

      • 链接文本包含在我试图找到注销链接的网页的 html 的 sn-p 中。文本只是“注销”,没有空格或其他特殊字符。我将在今天晚些时候尝试您的替代 FindBy 注释建议。
      • @FindBy(linkText = “Logout”) 和 @FindBy(partialLinkText = “Logout”) 都无法找到元素。我仍然得到 NoSuchElementException。唯一可行的方法是 XPath,它又脆又慢。
      • @Selena 请检查应该匹配的 onclick 字符串。
      • 没有按钮。它只是下拉菜单中的一个链接:Logout
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-20
      • 1970-01-01
      • 1970-01-01
      • 2015-10-29
      • 2021-03-14
      • 2021-05-18
      • 1970-01-01
      相关资源
      最近更新 更多