【发布时间】:2011-12-29 21:23:45
【问题描述】:
我正在尝试将 Selenium 与 Python 一起使用来存储表的内容。我的脚本如下:
import sys
import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://testsite.com")
value = selenium.getTable("table_id_10")
print value
driver.close()
这会打开我感兴趣的网页,然后应该保存我想要的表格内容。我在这个question 中看到了使用browser.get_table() 的语法,但是该程序的开头以browser=Selenium(...) 开头,我不明白。我不确定我应该使用什么语法作为 selenium.getTable("table_id_10") 不正确。
编辑:
我包含了我正在使用的表格的 html sn-p:
<table class="datatable" cellspacing="0" rules="all" border="1" id="table_id_10" style="width:70%;border-collapse:collapse;">
<caption>
<span class="captioninformation right"><a href="Services.aspx" class="functionlink">Return to Services</a></span>Data
</caption><tr>
<th scope="col">Read Date</th><th class="numericdataheader" scope="col">Days</th><th class="numericdataheader" scope="col">Values</th>
</tr><tr>
<td>10/15/2011</td><td class="numericdata">92</td><td class="numericdata">37</td>
</tr><tr class="alternaterows">
<td>7/15/2011</td><td class="numericdata">91</td><td class="numericdata">27</td>
</tr><tr>
<td>4/15/2011</td><td class="numericdata">90</td><td class="numericdata">25</td>
</table>
【问题讨论】:
-
如果您正在寻找网络抓取(我认为这就是您正在做的),您可能还想查看mechanize。我过去使用过它并且非常喜欢它,但不幸的是文档缺乏很多并且有点难以使用。只是一个想法,希望它不会离题。
-
@TKKocheran 我对抓取很感兴趣,尽管在这种情况下它只是一张桌子。我也可以保存 html 页面并稍后单独解析它。
-
你可能想研究一下使用机械化。一旦你掌握了窍门,机械化在做事方面就会非常强大。我曾经写过一个脚本,它会登录到我的银行账户,回答一个安全问题,然后使用银行应用程序中可用的表格来获取我的财务数据。有趣的东西。