python - 无法使用 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)
解决方案
推荐阅读
- css - Position buttons on bottom of card group in Bootstrap4
- java - How do I add a JSON body to my post request using Retrofit?
- ionic4 - 手机上运行的 Ionic App 无法访问 NestJS 的服务器 URL
- python - drop several cubes in pygame
- html - 如何实现这种响应式布局
- javascript - Recursively loop through a promise?
- c# - 从对象的属性设置 DataGrid 中的单元格行值但使用该属性获取其他值?
- dax - 是否有任何 DAX 表达式来找出结果?
- php - 使用现有表模式上的数据透视表在 Eloquent 模型中指定关系字段
- vue.js - Vue 组件工作主 Vue 实例,但不在 Vue Router 组件中