【问题标题】:import csv file and send keys to website (Python Selenium)导入 csv 文件并将密钥发送到网站(Python Selenium)
【发布时间】:2020-10-07 12:04:40
【问题描述】:

我尝试将 CSV 文件中的密钥发送到网站的表单中。这是我到目前为止编写的代码,但如何将它与我的 csv 文件连接起来?如果有些事情不够清楚,我从硒开始。祝你有美好的一天,保持安全:)

from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
import time 
import csv


PATH = r"C:\Program Files\chromedriver.exe"



driver = webdriver.Chrome(PATH)
driver.get("https://shop.jaegermeister.de/account/index/sTarget/shotmachine")
time.sleep(1)

elem = driver.find_element_by_class_name("field-wrap__checker").click()
time.sleep(1)

elem = driver.find_element_by_id("firstname")
elem.send_keys("Max")
time.sleep(1)


elem = driver.find_element_by_id("lastname")
elem.send_keys("Musterman")
time.sleep(1)

elem = driver.find_element_by_xpath("//*[@id='register_personal_birthdate']/option[4]").click()
time.sleep(1)

elem = driver.find_element_by_xpath("//*[@id='jae-registration-form']/div[1]/div[2]/div[4]/div[2]/select/option[2]").click()
time.sleep(1)

elem = driver.find_element_by_xpath("//*[@id='jae-registration-form']/div[1]/div[2]/div[4]/div[3]/select/option[6]").click()
time.sleep(1)

elem = driver.find_element_by_xpath("//*[@id='register_personal_email']")
elem.send_keys("max@gmail.com")
time.sleep(1)

elem = driver.find_element_by_xpath("//*[@id='register_personal_password']")
elem.send_keys("Password123")
time.sleep(1)


elem = driver.find_element_by_xpath("//*[@id='city']")
elem.send_keys("Cityxyz")


elem = driver.find_element_by_xpath("//*[@id='country']/option[2]").click()


elem = driver.find_element_by_xpath("//*[@id='jae-registration-form']/div[2]/div/div[5]/div/label/span[1]").click()


【问题讨论】:

  • 值(即姓氏、电子邮件 ID、pswrd 等)是否存储在 csv 文件中?
  • 它们来自网站,但是是的,我有一个带有列的 csv
  • 好的...所以你想从 csv 中提取这些值并将这些值发送到网站。我说的对吗?
  • 没错!这就是我努力实现的目标
  • 检查我的答案是否满足你的要求

标签: selenium csv selenium-webdriver


【解决方案1】:

这就是 csv 的样子:

要从此 csv 文件中提取数据,您可以像这样简单地使用pandas

import pandas as pd

df = pd.read_csv('D:\\Test.csv')

details_lst = []

for column in df.columns:
    details_lst.append(df[column][0])

输出:

['Max', 'Musterman', 'max@gmail.com', 'Password123']

然后你可以遍历这个列表并将值发送到网站。希望这会有所帮助!

【讨论】:

  • 好吧...顺便说一句,这就是你的 csv 的样子吗?
  • 嘿不幸的是我的 csv 没有从网站中填写,但我也没有错误。这是我的代码prnt.sc/uw82zh,这是 mycsv prnt.sc/uw83zh
  • U 没有将密钥发送到浏览器。只需在您的代码中添加elem.send_keys
  • 您无法发送打印声明。试试这个:elem.send_keys(df['vorname'][0])。对用户名执行相同的操作。它应该工作。如果您仍然遇到任何错误,请告诉我。我在那里帮助你!
  • 非常感谢你现在最好的作品。你知道我是如何管理表单的,从第一行开始填写 csv 详细信息,然后再填写第二行,以此类推,直到输入每一行?
猜你喜欢
  • 1970-01-01
  • 2016-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-19
  • 1970-01-01
  • 1970-01-01
  • 2020-08-08
相关资源
最近更新 更多