通过xpath(Selenium,Python)使用find_元素从页面显示表数据
我试图弄清楚如何使用通过xpath(Selenium,Python)使用find_元素从页面显示表数据,python,html,selenium,html-table,Python,Html,Selenium,Html Table,我试图弄清楚如何使用find\u element\u by\u xpath()在页面上查找表元素并显示或打印它们 以下是页面信息的片段: <tbody id="listContainer_databody"> <tr id="listContainer_row:0" class=""><th scope="row" class="" valign="top"></th> <td
find\u element\u by\u xpath()
在页面上查找表元素并显示或打印它们
以下是页面信息的片段:
<tbody id="listContainer_databody">
<tr id="listContainer_row:0" class=""><th scope="row" class="" valign="top"></th>
<td class="" valign="top">2012Fall-ACC1300-01</td>
<td class="" valign="top">INTRO TO FINANCIAL ACCOUNTING</td>
<td class="" valign="top">3/2/12 1:03 PM</td>
<td class="" valign="top">jdoe</td>
<td class="" valign="top">Jane Doe</td>
<td class="" valign="top">2012Fall_CRS</td>
</tr>
到目前为止,我在Python中的代码没有给我一个错误,但我似乎无法显示我想要的结果或至少一点信息:
try:
xpath = '//*[@id="listContainer_databody"]'
xpath2 = '//*[@id="listContainer_row:0"]/td[2]'
results = browser.find_element_by_xpath(xpath2)
print results.get_attribute('td[2]')
except NoSuchElementException:
assert 0, "can't find xpath"
您的xpath(
xpath2
)不正确。您应该使用xpath作为xpath,它将返回web元素列表。您可能需要使用find_elements\u by_xpath
,迭代web元素,并对每个元素使用get_text()
方法 我成功了!代码如下:
xpath = '//*[@id="listContainer_row:0"]/td'
for i in browser.find_elements_by_xpath(xpath):
print (i.text)
结果如下:
2012Fall-ACC1300-01
INTRO TO FINANCIAL ACCOUNTING
3/2/12 1:03 PM
jdoe
Jane Doe
2012Fall_CRS
他们帮了忙 谢谢你的提示。我刚注意到你在发布我的邮件后的回复。我们意见一致。谢谢你的帮助!使用
get_text()
不起作用,但i.text
起作用。
2012Fall-ACC1300-01
INTRO TO FINANCIAL ACCOUNTING
3/2/12 1:03 PM
jdoe
Jane Doe
2012Fall_CRS