【问题标题】:How to import csv file and send keys (Python Selenium)如何导入 csv 文件并发送密钥(Python Selenium)
【发布时间】:2019-09-04 23:40:45
【问题描述】:

我正在尝试创建一个脚本:

  • 打开浏览器 -> 转到网站(登录页面) -> 自动记录(从 csv 文件填写电子邮件和密码详细信息) -> 关闭标签 -> 重新打开网站 -> 重新自动记录,但使用第二个帐户(从 csv 文件 SECOND ROW 填写详细信息)。

... 重复相同的任务50次(例如从账号1到50)

import pandas as pd
from selenium import webdriver

//Open Browser and go to facebook logging page
browser = webdriver.Chrome(r'C:\Users\Hamza\Desktop\Python\chromedriver')
browser.get('https://facebook.com')

//Import csv file 
data = pd.read_excel (r'C:\Users\Hamza\Desktop\testcsv.xlsx')

【问题讨论】:

    标签: python python-3.x selenium csv


    【解决方案1】:

    其实我上脸书网站,拉了源代码,又写了一点东西,让你登录网站的速度比较快

    import pandas as pd
    from selenium import webdriver
    # Open Browser and go to facebook logging page
    browser = webdriver.Chrome(r'C:\Users\Hamza\Desktop\Python\chromedriver')
    browser.get('https://facebook.com')
    # Import csv file 
    data = pd.read_excel (r'C:\Users\Hamza\Desktop\testcsv.xlsx')
    i = 0
    while i == 0:
        a = 0
        Username = df.username
        Password = df.password
    
        # Sends username
        id_box = driver.find_element_by_class_id('email')
        id_box.send_keys(Username[a])
        # Sends password
        Pass_box = driver.find_element_by_class_name('pass')
        Pass_box.send_keys(Password[a])
        # Click login
        Send = driver.find_element_by_css_selector("u_0_3")
        Send.click()
    
        try:
            test = driver.find_element_by_class_name('pass')
            id_box.clear()
            Pass_box.clear()
        except:
            print("logged in")
            break
        a = a + 1
    

    但是这是假设您的 csv 文件将文件保存在名为用户名和密码的列中,因此您可能需要对其进行调整

    【讨论】:

    • 这正是我要找的!非常感谢 !但我有一些错误,第一个是:while i = 0: SyntaxError: invalid syntax
    • 嗨,我刚刚编辑了我的帖子,我写得很快,并没有意识到在比较变量和整数时实际上必须使用双等号。确保改变它!
    • 非常感谢您的帮助 Bob,现在代码正在运行,它使用 facebook 打开浏览器,选择电子邮件输入,然后出现错误: Username = df.username NameError: name 'df' is not defined
    【解决方案2】:

    在我看来,最好的方法是在 dict() 中打开 CSV 文件。 这是我的代码,它可以帮助你们。忽略细节,这只是我正在处理的文件。

    with open('C:\Users\Hamza\Desktop\testcsv.csv','rt')as f:
        data = csv.DictReader(f)
        for detail in data:
            numberOfBedrooms=detail['numberOfBedrooms']
            numberOfBathrooms=detail['numberOfBathrooms']
            pricePerMonth=detail['pricePerMonth']
            adress=detail['adress']
            description=detail['description']
            square_feet=detail['square_feet']
            bedrooms = driver.find_element_by_xpath('//*[@id="jsc_c_12" or text()="Number 
            of bathrooms"]')
            bedrooms.send_keys(numberOfBathrooms)
            
           
    

    遍历您的数据并将您想要的数据存储在变量中,然后使用变量来发送。就像我在示例卧室中所做的那样。send_keys(numberOfBathrooms)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-19
      • 1970-01-01
      • 2018-10-02
      • 2016-08-05
      • 1970-01-01
      • 2022-11-10
      • 2020-07-30
      • 1970-01-01
      相关资源
      最近更新 更多