首页 > 解决方案 > 无法使用 Python selenium 获取行数

问题描述

您好我正在尝试使用 python Selenium 计算 Html 表中的所有行。我的表包含 155 行,但我的代码仅返回 30 作为行数。我检查了检查元素,它只显示 30 行,一旦我向下滚动,旧行就会从检查元素中删除并添加新行。所以它保持 30 不变。在这种情况下,如何将 155 作为行数并遍历所有行

tbody=driver.find_elements_by_xpath("gridview-1161-body")
rowCount=len(driver.find_elements_by_xpath("//tbody[@id='gridview-1161-body']/tr"));
rows = WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.XPATH, "//tbody[contains(@id,'gridview-1161-body')]/tr")))
print(rowCount)

并且使用 for 循环我试图给 td 赋值,在这种情况下,一旦达到 21rows,它就会失败。

rownum=0
for rownum in range(rowCount):
        element=rows[rownum].find_element_by_xpath(".//td[contains(@class,'rp-grid-editable-cell  rp-grid-editable-cell') and @role='gridcell']")
        element.click()
        driver.find_element(By.ID, "numberfield-1243-inputEl").send_keys('1')
        driver.find_element(By.ID, "numberfield-1243-inputEl").send_keys(Keys.ENTER)

标签: pythonselenium-webdriverhtml-tableinspect-element

解决方案


推荐阅读