我正在使用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
因此将获得元素列表。