Selenium @FindBy linkText или @FindBy partalLinkText не работает
Я работаю для автоматизации, я пытаюсь нажать на элемент, у этого элемента нет идентификатора, имени класса, поэтому я использую xpath. Чтобы улучшить свой код, я хотел бы найти этот элемент по href, поэтому я использую:
@FindBy(linkText="Transfer")
WebElement transferBtn;
Я также попробовал с:
@FindBy(partialLinkText="Transfer")
WebElement transferBtn;
Но мой код не находит webElement, он работает для других href, но не для всех. Я думаю, что проблема в инструментах разработчика, я покажу вам элемент:
<a href="#">My transfer</a>
У вас есть представление о проблеме, почему она не работает? Благодарю.
3 ответа
Решение
В соответствии с HTML, которым вы поделились, вы можете использовать одно из следующих решений:
linkText
:@FindBy(linkText = "My transfer") WebElement transferBtn;
partialLinkText
:@FindBy(partialLinkText = "transfer") WebElement transferBtn;
xpath
:@FindBy(xpath = "//a[contains(.,'My transfer')]") WebElement transferBtn;
+ Изменить Transfer
в My transfer
@FindBy(linkText="My transfer")
WebElement transferBtn;
ИЛИ Изменить Transfer
в transfer
@FindBy(partialLinkText="transfer")
WebElement transferBtn;
Надеюсь это сработает
@FindBy(xpath = "//a[text()='My transfer']");
WebElement Transferbtn;