gpt4 book ai didi

java - 使用@FindBy 查找元素。重构和最佳实践

转载 作者:搜寻专家 更新时间:2023-11-01 03:20:46 25 4
gpt4 key购买 nike

我目前在我的 selenium 框架中有这个方法。

public void selectAddProductButton() {
driver.findElement(By.id("Content")).findElement(By.className("Title")).findElement(By.tagName("a")).click();
}

然而,我喜欢它,我不喜欢它。我觉得这是解决这个问题的一种肮脏方式。我认为使用@FindBy 会更好,但我不明白我该怎么做。我在网上读到我可以通过将 @FindBy 与 xpath 一起使用来实现这一点。但是,我还读到以这种方式使用 xpath 是一种不好的做法。有没有更好的方法可以做到这一点?我通常使用@FindBy 来处理更简单的事情。一个例子是

@FindBy(id = "firstname")
private WebElement firstName;

我不认为有一种方法可以使用@FindBy 找到嵌套在其他元素中的元素,除非我使用 xpath

最佳答案

当然。实际上,除了 xpath 之外,您还有多个其他选项。在这种情况下,您需要使用另一个参数。 how = How.ID

示例

FindBy(how = How.ID, using = "foobar") WebElement foobar;

查找 Java 文档 here

Enum How 为您提供以下所有选项:

• CSS

• 编号

• 链接文本

• 姓名

• 部分链接文本

• 标签名

• 使用

• xpath

关于java - 使用@FindBy 查找元素。重构和最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31122631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com