有人可以帮我吗?尝试导出到csv文件(将其保存在C:\ test \,文件名为今天的日期)我使用Selenium选择的数据。
from selenium import webdriver
from selenium.webdriver.support.ui import Select
path_to_chromedriver = 'C:\python34\chromedriver\chromedriver.exe'
browser = webdriver.Chrome(executable_path = path_to_chromedriver)
url = 'http://www.ssss.com/queries_pub.php'
browser.get(url)
browser.find_element_by_xpath("//select[@name='query_choice']/option[text()='60 days']").click()
browser.find_element_by_css_selector('input[type=\"submit\"]').click() # working to press submit
如何将上述代码与CSV模块集成?现在,Chrome打开,进入页面选择下拉菜单,然后在新页面中有一个包含xpath // * [@ id =" page1"] / table / tbody的表。谢谢。
html表看起来像这样(在这种情况下只有2个条目):
</td><td>
<input type='submit' value='Get Results'>
</td>
</tr>
</table>
</form><div id="loader">
<img src="img/load.gif">
</div><div id = "page1" style="display:none;"><table class='maskAdmin' align='left'>
<tr><th width='200px' align='left'>NAME</th><th width='200px' align='left'>ACCESSDATE</th></tr><tr><td width='200px' align='left'>0011</td><td width='200px' align='left'>2015-07-29 00:00:00.000</td></tr><tr><td width='200px' align='left'>0002</td><td width='200px' align='left'>2015-11-23 00:00:00.000</td></tr></table><form action='queries_export.php' method='POST'>
<table>
<tr>
<td>
<input type='submit' name='export' value='Export'>
<input type='hidden' name='export_value' value='DEVICENAME;ACCESSDATE;
0011;2015-07-29 00:00:00.000;
0002;2015-11-23 00:00:00.000;
'>
</td>
</tr>
</table>
</form></div></div></div></div>
答案 0 :(得分:0)
您可以使用pyquery(或lxml,beautfifulsoup等)尝试这样的事情
import csv
import pyquery as pq
with open('names.csv', 'w') as csvfile:
html = #page source
fieldnames = ['name', 'access_date']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for row in pq(html)(".maskAdmin tr:gt(0)"):
writer.writerow({'name': pq(row)("td").eq(0).text().encode("utf-8"), 'access_date': pq(row)("td").eq(1).text().encode("utf-8")})