硒@FindBy linkText或@FindBypartialLinkText不起作用

时间:2018-08-17 10:27:18

标签: java selenium selenium-webdriver webdriver findby

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

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

我也尝试过:

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

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

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

您对问题有任何想法,为什么它不起作用? 谢谢。

3 个答案:

答案 0 :(得分:4)

Transfer更改为My transfer

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

或 将Transfer更改为transfer

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

答案 1 :(得分:0)

我希望这会成功

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

答案 2 :(得分:-1)

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

  • linkText

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

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

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