Python,如何与selenium一起使用csv模块

Python,如何与selenium一起使用csv模块,python,csv,selenium,Python,Csv,Selenium,有人能帮我吗?尝试将我用Selenium选择的数据导出到csv文件(保存在C:\test\中,文件名为todays date) from selenium import webdriver from selenium.webdriver.support.ui import Select path_to_chromedriver = 'C:\python34\chromedriver\chromedriver.exe' browser = webdriver.Chrome(executable_

有人能帮我吗?尝试将我用Selenium选择的数据导出到csv文件(保存在C:\test\中,文件名为todays date)

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个条目):


名称访问日期00112015-07-29 00:00:00.00000022015-11-23 00:00:00.000

您可以使用pyquery(或lxml、beautfifulsoup等)尝试类似的方法


您能否共享表格的HTML代码和所需的输出?谢谢。@alecxe,很遗憾,我无法共享,因为这是一个内部网页面。不确定是否有帮助,但表的XPATH是/*[@id=“page1”]/table/tbody。它包含两列和几行。所以csv也应该是这样的,一个包含两列和多行的表,其中第一行作为标题。非常感谢。只要我知道xpath不能返回2d排列,您最多只能得到一个列表。我们至少需要包含虚拟数据的表的HTML结构,以便能够定义xpath和将结果重新组织为元组列表的方法,作为CSV模块的输入。@GermanRosales我用HTML表更新了问题。感谢您的支持。我正在使用python 3.4。。所以我没有pyquery模块:/你能简单地解释一下如何使用beautfifulsoup吗?再次感谢。很抱歉,我现在无法重写它。您只需在beautifulsoup中选择.maskAdmin并在各行中循环,将{name:first td,access_date:second td}写入csv dictWriter,如果您以后能在这方面帮助我,那将是非常棒的。。正在阅读一些论坛,但没有通过bsouo做到:/
        </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>
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")})