有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Selenium Web驱动程序输出错误的Web表行数

我使用SeleniumWeb驱动程序计算web表的行数。这是我对该部分的代码:

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

它没有输出预期的结果。谁能告诉我为什么


共 (1) 个答案

  1. # 1 楼答案

    您应该首先选择<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();
    

    如果我做错了什么,我很抱歉,但我将Selenium与Python一起使用,而不是与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,因此将获得一个元素列表