我试图写一个小的python脚本刮跟踪细节的内部系统。详情如下面的html表格所示。我想把它变成python元组:
(已处理,b单元3门,16年5月30日12:19)(创建,单元b门2,30 - may -16 06:17)
例如。我正在使用Splinter
<table class="resultView" cellspacing="0" rules="all" border="1" style="width:540px;border-collapse:collapse;">
<tr class="clearHeader">
<th align="left" scope="col">Activity</th><th scope="col"> </th><th align="center" scope="col">Date</th>
</tr>
<tr class="statusRow">
<td style="width:30%;">Processed</td>
<td align="center"> Unit B<br /> Door 3 </td>
<td align="center" style="width:20%;">30-May-16<br/>12:19</td>
</tr>
<tr class="statusAlternate">
<td style="width:30%;">Created</td>
<td align="center"> Unit B <br /> Door 2</td>
<td align="center" style="width:20%;">30-May-16<br/>06:17</td>
</tr>
</table>
如果我运行:
for update in browser.find_by_css('tr'):
print update.find_by_css('td')
它显示:
[<splinter.driver.webdriver.WebDriverElement object at 0x103085e90>,
<splinter.driver.webdriver.WebDriverElement object at 0x103085ed0>,
<splinter.driver.webdriver.WebDriverElement object at 0x1030b4050>]
这是我所期望的。但是,我无法从中访问值。将行改为:
print update.find_by_css('td').value
给出错误:
AttributeError: 'ElementList' object has no attribute 'value'
这是一个列表,所以我尝试用
访问列表中的第一个元素 print update.find_by_css('td').first.value
然后我得到这个错误:
splinter.exceptions.ElementDoesNotExist: no elements could be found with css "td"
我不知道我做错了什么?
我认为你的问题是你正在寻找"tr"或"td"到你的表与css 'tr'或'td'和任何"tr"和/或"td"在你的表没有这个类
在这种情况下,我建议您使用xpath查找要查找的元素