【发布时间】:2022-01-07 00:44:46
【问题描述】:
我目前正在尝试使用 CSV 来形成提交脚本。我的代码目前正在运行,但是我需要一种更有效的内存管理方式,而不是新窗口,我希望 Chrome 的一个实例提交表单,一旦提交,它只需要继续用 CSV 中的内容重新填充表单。我的代码:
#-------------------------------------------------------------------------------
# Imports
import csv
import requests
from selenium import webdriver
import time
#-------------------------------------------------------------------------------
# Setup
# name = 0
# age = 1
# score = 2
with open('data.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
#-------------------------------------------------------------------------------
# Web Automation
for line in csv_reader:
driver = webdriver.Chrome(executable_path='./chromedriver')
driver.get('site')
time.sleep(3)
title_field = driver.find_element_by_xpath('//*[@id="TITLE"]')
title_field.send_keys(line[0])
fname_field = driver.find_element_by_xpath('//*[@id="FIRSTNAME"]')
fname_field.send_keys(line[1])
lname_field = driver.find_element_by_xpath('//*[@id="LASTNAME"]')
lname_field.send_keys(line[2])
phone_field = driver.find_element_by_xpath('/html/body/div/div/div[5]/form/div[6]/div/div/div/div/div[1]/div[2]/input[2]')
phone_field.send_keys(line[3])
mail_field = driver.find_element_by_xpath('//*[@id="EMAIL"]')
mail_field.send_keys(line[4])
submit = driver.find_element_by_xpath('//*[@id="s-form"]/div[9]/div/button')
submit.click()
#-------------------------------------------------------------------------------
我有 Selenium 和 Chrome 版本的另一个问题,无论如何要确保是否只使用可以与 Chrome 一起使用的版本?最终的结果是这将被打包为一个 exe,作为不起作用的 API 的替代方案。任何帮助都非常感谢所有方面
【问题讨论】:
标签: python forms selenium selenium-webdriver automation