-2

I'm working for automation, I'm trying to click on an element ,this element has no id, classname so I'm using the xpath. To improve my code I would like to find this element by href, so I'm using:

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

I also tried with:

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

But my code doesn't find the webElement, it's working for other href but not all. I think the problem is developer tools, i'll show you the element:

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

Do you have any idea of the problem, why it's not working? Thanks.

undetected Selenium
  • 183,867
  • 41
  • 278
  • 352
Louloupi94
  • 13
  • 1
  • 2

3 Answers3

4

Change Transfer to My transfer

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

OR Change Transfer to transfer

@FindBy(partialLinkText="transfer")
WebElement transferBtn;
JeffC
  • 22,180
  • 5
  • 32
  • 55
Sodium
  • 1,016
  • 1
  • 9
  • 22
3

As per the HTML you have shared you can use either of the following solutions:

  • linkText:

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

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

    @FindBy(xpath  = "//a[contains(.,'My transfer')]")
    WebElement transferBtn;
    
undetected Selenium
  • 183,867
  • 41
  • 278
  • 352
0

I hope this will work

@FindBy(xpath = "//a[text()='My transfer']");
WebElement Transferbtn;
Dixit_Autobot
  • 39
  • 1
  • 5