Как узнать количество найденных элементов с помощью Selenium WebDriver с Python? - PullRequest
5 голосов
/ 14 декабря 2011

Я посмотрел документацию, расположенную здесь , но не смог найти ответ.

Я хочу получить элемент по class name или xpath и вернуть числоэкземпляров.Кажется, в Python нет доступных функций, таких как get_xpath_count().

Есть идеи, как этого добиться?

Ответы [ 6 ]

8 голосов
/ 14 декабря 2011

Попробуйте driver.find_elements_by_xpath и посчитайте количество возвращаемых элементов.

3 голосов
/ 12 апреля 2015

Вы можете просто использовать len() функцию:

len(driver.find_elements_by_xpath('//a'))
2 голосов
/ 10 октября 2012

В 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);
0 голосов
/ 14 декабря 2016

В питоне

element.find_elements()

вернет все дочерние элементы веб-элементов

0 голосов
/ 30 октября 2013

Вы можете использовать команду assertXpathCount, доступную в Selenium

0 голосов
/ 21 апреля 2013
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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...