【问题标题】:Selenium @FindBy linkText or @FindBy partialLinkText not workingSelenium @FindBy linkText 或 @FindBy partialLinkText 不起作用
【发布时间】:2018-08-17 10:27:17
【问题描述】:

我正在为自动化工作,我正在尝试单击一个元素,该元素没有 id、类名,所以我使用的是 xpath。为了改进我的代码,我想通过 href 找到这个元素,所以我使用:

@FindBy(linkText="Transfer")
WebElement transferBtn;

我也试过了:

@FindBy(partialLinkText="Transfer")
WebElement transferBtn;

但我的代码没有找到 webElement,它适用于其他 href 但不是全部。我认为问题在于开发人员工具,我将向您展示元素:

<a href="#">My transfer</a>

您知道问题所在,为什么它不起作用? 谢谢。

【问题讨论】:

  • 我认为真正的问题是您应该在partialLinkText 中使用“转移”而不是“转移”。
  • linkText 和 href 属性是一回事!

标签: java selenium selenium-webdriver webdriver findby


【解决方案1】:

Transfer 更改为My transfer

@FindBy(linkText="My transfer")
WebElement transferBtn;

或 将Transfer 更改为transfer

@FindBy(partialLinkText="transfer")
WebElement transferBtn;

【讨论】:

    【解决方案2】:

    根据您分享的 HTML,您可以使用以下任一解决方案:

    • linkText:

      @FindBy(linkText = "My transfer")
      WebElement transferBtn;
      
    • partialLinkText:

      @FindBy(partialLinkText = "transfer")
      WebElement transferBtn;
      
    • xpath:

      @FindBy(xpath  = "//a[contains(.,'My transfer')]")
      WebElement transferBtn;
      

    【讨论】:

      【解决方案3】:

      我希望这会奏效

      @FindBy(xpath = "//a[text()='My transfer']");
      WebElement Transferbtn;
      

      【讨论】:

        猜你喜欢
        • 2021-01-10
        • 2013-08-28
        • 2021-11-28
        • 1970-01-01
        • 2021-09-09
        • 1970-01-01
        • 2017-12-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多