Selenium @FindBy linkText 或@FindBy partialLinkText 不工作

Selenium @FindBy linkText or @FindBy partialLinkText not working

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

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

我也试过:

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

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

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

您是否知道这个问题,为什么它不起作用? 谢谢

Transfer更改为My transfer

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

或 将 Transfer 更改为 transfer

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

我希望这会奏效

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

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

  • linkText:

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

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

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