我有一个带有表格的网页,该表格仅在我单击“检查元素”时出现,并且在“查看源代码”页面中不可见。该表仅包含两行,每行有几个单元格,看起来类似于:
<table class="datadisplaytable">
<tbody>
<tr>
<td class="dddefault">16759</td>
<td class="dddefault">MATH</td>
<td class="dddefault">123</td>
<td class="dddefault">001</td>
<td class="dddefault">Calculus</td>
<td class="dddefault"></td>
<td class="dddead"></td>
<td class="dddead"></td>
</tr>
<tr>
<td class="dddefault">16449</td>
<td class="dddefault">PHY</td>
<td class="dddefault">456</td>
<td class="dddefault">002</td>
<td class="dddefault">Physics</td>
<td class="dddefault"></td>
<td class="dddead"></td>
<td class="dddead"></td>
</tr>
</tbody>
</table>
我想做的是遍历行并返回每个单元格中包含的文本。我似乎无法用 Selenium 做到这一点。这些元素不包含 ID,我不确定如何获取它们。我不太熟悉使用 xpaths 等。
这是一个返回 TypeError
的调试尝试:
def check_grades(self):
table = []
for i in self.driver.find_element_by_class_name("dddefault"):
table.append(i)
print(table)
从行中获取文本的简单方法是什么?
最佳答案
XPath 很脆弱。最好使用 CSS 选择器或类:
mytable = find_element_by_css_selector('table.datadisplaytable')
for row in mytable.find_elements_by_css_selector('tr'):
for cell in row.find_elements_by_tag_name('td'):
print(cell.text)
关于python - 遍历 Selenium 中的表行(Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37090653/