如何使用Python中的Selenium WebDriver获取找到的元素数量?

6 投票
7 回答
108611 浏览
提问于 2025-04-17 08:21

我查看了位于 这里 的文档,但没有找到答案。

我想通过 class namexpath 来获取一个元素,并返回这个元素的数量。看起来在Python中没有可用的函数,比如 get_xpath_count()

有没有什么想法可以实现这个?

7 个回答

3

在Java中,下面的代码可以用:

int xpathCount= driver.findElements(By.xpath("//div[@id='billingProfiles']/div[@class='cardContainer']")).size();

或者,

List<WebElement> xpath = driver.findElements(By.xpath("//div[@id='billingProfiles']/div[@class='cardContainer']"));
int xpathCount = xpath.size();
System.out.println("Total xpath: " + xpathCount);

如果你想计算一个页面中的所有链接数量:
方法1:

List<WebElement> totalLinks = driver.findElements(By.tagName("a"));
int totalLinkSize = totalLinks.size();
System.out.println("Total Links by Way1 : " + totalLinkSize);

方法2:

int totalLinkSize2 = driver.findElements(By.xpath("//a")).size();
System.out.println("Total Links by Way2 : " + totalLinkSize2);
10

你可以简单地使用 len() 这个函数:

len(driver.find_elements_by_xpath('//a'))
12

试试用 driver.find_elements_by_xpath 这个方法,然后数一下返回的元素有多少个。

撰写回答