如何使用Selenium WebDriver和Python找到的元素数量?

时间:2011-12-14 12:19:45

标签: python selenium selenium-webdriver webdriver automated-tests

我查看了位于here的文档,但无法找到答案。

我想通过class namexpath获取一个元素并返回实例数。 Python中似乎没有可用的功能,例如get_xpath_count()

关于如何实现这一目标的任何想法?

7 个答案:

答案 0 :(得分:8)

尝试使用driver.find_elements_by_xpath并计算返回元素的数量。

答案 1 :(得分:3)

您只需使用len()功能:

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

答案 2 :(得分:1)

在java中,以下内容可以起作用:

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

OR,

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

用于计算页面中的总链接数:
WAY1:

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);

答案 3 :(得分:0)

public static IWebDriver driver = null;

public static IList<IWebElement> elements;

// List count return total number of element

elements = driver.FindElements(By.XPath("//a"));

int intLinkCount = elements.Count;

答案 4 :(得分:0)

您可以使用Selenium中提供的“assertXpathCount”命令

答案 5 :(得分:0)

在python中

element.find_elements()

将返回所有表面子元素Web元素

答案 6 :(得分:0)

使用此:

count_elemnts = len(driver.find_elements_by_...('name or class or id or xpath'))

元素(带有s)而不是元素