java - 如何获取 WebElement 的数量

标签 java selenium

有没有办法能够通过 WebElement 查找元素而不使用 By?

原因是我想找到“testElement”的所有元素,但我不确定如何编码它,因为它需要 By 而不是 WebElement。我希望有一种通过 WebElement 的方法。

示例代码如下:

@FindBy(id = "test")
public WebElement testElement;

为了获得大小,我会尝试以下方法,但它失败了,因为它需要一个By:

List<WebElement> testCount = driver().findElements(elementPage.testElement);
        Assert.assertEquals(testCount.size(), 5);

最佳答案

您将其声明为单个网络元素, 您应该将其声明为列表,如下所示:

@FindBy(id = "test")
public List<WebElement> testElement;

然后你可以在你的代码中使用它,如下所示:

Assert.assertEquals(elementPage.testElement.size(), 5);

你也可以直接尝试,不使用elementPage:

List<WebElement> testElement= driver.findElements(By.id("Test"));

System.out.println("Element count: " + testElement.size());

希望有帮助。

关于java - 如何获取 WebElement 的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56222910/

相关文章:

java - 如何在打开新场景时运行 JavaFX 中的方法

java - 需要有关构建接口(interface)的建议

java - 我需要为此使用线程吗?

java - 具有附加约束的 PlayFramework 表单验证

java - 有没有办法检查特定的 jdk(Oracle 或 OpenJDK)是否支持 Java Flight Recorder?

java - org.testng.TestNGException :NullPointerException while making a customized reports by reportng

java - Java 中的通用 FindElement 方法

Java Selenium 3.5.3 等待 css-class 更改

ssl - 如何使用 BrowserMob 代理拦截 SSL 请求

php - 以编程方式运行 PHP Selenium Webdriver 测试,无需 phpunit 命令