计算硒中“li”元素的数量

Ana*_*and 2 java selenium

li我必须计算中存在的元素数量div。以下是网页的 HTML 部分:

在此输入图像描述

我编写了以下几行代码来计算图块:

public void configButtonCount()
{
    WebElement button= driver.findElement(By.className(".config-category"));
    List<WebElement> buttonCount = button.findElements(By.xpath("//li"));
    System.out.println("List size is: " +buttonCount.size());
}
Run Code Online (Sandbox Code Playgroud)

谁能告诉我为什么它显示为Unable to locate element: .\.config\-category"

另外,正确的代码行?

Jef*_*ffC 5

该错误是因为类名中包含句点 (.) .config-category。类名在 HTML 中不包含句点。我认为您将其与 CSS 选择器混淆了,在 CSS 选择器中您在类名前面加上句点。

您可以编写一个定位器来LI使用 CSS 选择器查找您要查找的所有 s。您正在寻找DIV包含类名的 s ,config-category您可以将其表示为div.config-category。接下来你想要 s 的DIV后代LI。后代用空格表示,然后添加li,如div.config-category li。下面的代码应该可以工作。

public void configButtonCount()
{
    List<WebElement> buttons = driver.findElements(By.cssSelector("div.config-category li"));
    System.out.println("List size is: " + buttons.size());
}
Run Code Online (Sandbox Code Playgroud)

CSS 选择器是极其强大的定位器,受到广泛支持,并且具有非常好的性能,尤其是与 XPath 定位器相比。我建议您花一些时间阅读它们并学习基础知识。您会发现它们非常有用。这里只是一些可以帮助您入门的资源:

W3C CSS 选择器参考

CSS 选择器提示和技巧