硒 Web 驱动程序输出错误的 Web 表行计数



我正在使用Selenium Web驱动程序来计算Web表的行数。 这是我该部分的代码:

List<WebElement> rows = driver.findElements(By.xpath("//div[@class='z-listbox-body']/table/tbody/tr")); totalrows = rows.size();

它不会输出预期的结果。谁能告诉我为什么?

您应该首先选择<tbody>,存储元素,找到当前元素中的所有<tr>,然后您应该通过获取获得的列表长度来获取您的值:

WebElement tbody = driver.findElement(By.xpath("//div[@class='z-listbox-body']/table/tbody"));
List<WebElement> rows = tbody.findElements(By.xpath("tr"));
totalrows = rows.size();

对不起,如果我做错了什么,但我在Python中使用Selenium,而不是Java。

这是正在工作的 Python 代码:

tbody = browser.find_element_by_xpath("//div[@class='z-listbox-
body']/table/tbody")
rows = tbody.find_elements_by_xpath("tr")
totalrows = len(rows)

请注意,当我选择我正在执行的 tbody 时find_element_by_xpath因此将仅获取第一个元素并将其存储在普通变量中,并且在选择我正在执行的行时find_elments_by_xpath因此将获得元素列表。

最新更新