我的总体目标是遍历此表中的每个tr,并为每个td
遍历几个tr
,并打印出其中的文本。
我已经尝试回去到身体,但仍然没有运气。理想情况下,我只想通过for
运行table[@id='aui']/tbody/tr[i]/td[i]
循环,其中i
是range(0,sizeOfTable)的变量
ele = driver.find_elements_by_xpath("//body/div[@id='page']/section[@id='content']/div[@class='aui-page-panel']/div[@class='aui-page-panel-inner']/section[@class='aui-page-panel-content']/div[@class='aui-page-panel']/div[@class='aui-page-panel-inner']/section[@class='aui-page-panel-content']/div[@class='module']/div[@id='projects']/div[@class='p-list']/table[@id='aui']/tbody/tr[1]/td[1]")
现在,当我在创建print(ele.text)
之后运行ele
时,它只是打印出一个空列表
答案 0 :(得分:1)
该问题的原因是XPath错误。该表包含class
和aui
,但没有id
。
按如下所示纠正XPath。
//table[@class='aui']//tr
这应该为您提供行列表,然后您可以遍历它们。
脚本:如果要在单元格中打印文本,请使用它。
rows = driver.find_element_by_css_selector("table.auti tr")
for row in rows:
# get the hrefs
columsWithLink = row.find_element_by_xpath(".//td[a]")
for column in columsWithLink:
# print column text
print (column.text)
# print link href
print(column.find_element_by_xpath(".//a").get_attribute("href"))
脚本:如果您只想打印链接href,请使用以下内容
rows = driver.find_element_by_css_selector("table.auti tr")
for row in rows:
# get the hrefs
links = row.find_element_by_xpath(".//td/a")
for link in links:
# print link href
print(link.get_attribute("href"))