我目前在我的selenium框架中有这个方法.
public void selectAddProductButton() {
driver.findElement(By.id("Content")).findElement(By.className("Title")).findElement(By.tagName("a")).click();
}
但是,我喜欢它,我不喜欢它.我觉得这是一种接近这个的肮脏方式.我认为使用@FindBy会更好,但我不知道怎么做.我在线阅读我可以通过使用带有xpath的@FindBy来实现这一点.但是,我也读到使用xpath这种方式是一种不好的做法.有没有更好的方法可以做到这一点?我通常使用@FindBy来做更简单的事情.一个例子是
@FindBy(id = "firstname")
private WebElement firstName;
除非我使用xpath,否则我认为没有办法找到使用@FindBy嵌套在其他元素中的元素
最佳答案 当然.实际上你有多个其他选项和xpath.在这种情况下,您需要使用另一个参数. how = How.ID
例
FindBy(how = How.ID, using = "foobar") WebElement foobar;
查找Java doc here
Enum How为您提供以下所有选项:
•css
• ID
•linkText
• 名称
•partialLinkText
• 标签名称
•使用
•xpath