[英]How to traverse all the tr elements with in the table using selenium python
[英]Unable to retrieve all tr elements of a web table using selenium python
如图所示,我有超过 1 个表格行。 但是,除了第一行之外,我无法检索任何这些表行。
代码:
roster_tbody = browser.find_element(By.XPATH, "//*[@id='tableDay']/tbody")
tr = roster_tbody.find_elements(By.TAG_NAME, "tr")
print("number of table rows: " + str(len(tr)))
for trEl in tr:
print(trEl.text)
预期输出:
我应该看到每行打印的所有日期、日期、年份和“完整”(如果适用)。
实际输出:
我试过的:
1)
tr = WebDriverWait(browser, 20).until(
EC.visibility_of_all_elements_located((By.TAG_NAME, "tr"))
)
它不能很好地工作并且只返回第一个表格行。
2)
row_2 = browser.find_element(By.XPATH, "//*[@id='tableDay']/tbody/tr[2]")
print(row_2.text)
结果:
3) 将//*[@id='tableDay']/tbody
更改为.//*[@id='tableDay']/tbody
也不起作用
任何帮助深表感谢!
尝试使用browser.find_elements_by_xpath("//*[@id='tableDay']/tbody/tr[2]")
由于有很多 tr 标签,我认为滚动到每个元素是必要的。
此外,我正在使用索引来查找每个 Web 元素。
代码 :
roster_tbody = browser.find_elements(By.XPATH, "//*[@id='tableDay']/tbody/tr")
j = 1
for i in range(len(roster_tbody)):
element = browser.find_element(By.XPATH, f"(//*[@id='tableDay']/tbody/tr)[{j}]")
browser.execute_script("arguments[0].scrollIntoView(true);", element)
print(element.get_attribute('innerHTML'))
j = j + 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.