我目前正在编写一个 python 脚本来开发自动填写表单机器人。在我完成流程之前,只做 1 个站点。目前我有两个选择。选项 1 是手动输入客户端数据,然后脚本将此数据放入变量中以用于 send.keys,以便填写特定网站上的表单。这工作正常。现在我的问题是选项 2。我正在尝试导入从文本文件读取的行。将该数据存储为内容。将每行 (content[0]) 附加到一个变量,然后使用该变量与 send.keys 命令来自动填写表单。例如,我的文本文件包含以下数据:
约翰·多伊 测试街123号 测试城市
我希望能够单独读取每一行并为其分配内容。 第 1 行将被读取为 content0 第 2 行将被读取为 content1 第 3 行将被读取为 content2 依此类推。
然后我会将这个值赋给一个变量。示例。
FirstName = (content[0])
Address = (content[1])
City = (content[2])
然后我的目标是接受它并将其与 send.keys 命令一起使用,这样我的机器人就会用相应的数据填充框中。
这就是我被困住的地方。当脚本打开网页并开始自动填充时,框中不会显示任何内容。如果我像这样 str content[0] 添加 str ,那么它会用“content[0]”填充框中,而不是我也分配了内容的变量。我的代码如下。
if inputchoice == '2':
file = open('info.txt', 'r')
read_=file.read()
Phoneinput = (content[0])
FirstNameinput = (content[1])
LastNameinput = (content[2])
Addyinput = (content[3])
Cityinput = (content[4])
Stateinput = (content[5])
Stateinput2 = (content[6])
Zipinput = (content[7])
Emailinput1 = (content[8])
web = webdriver.Chrome()
web.get('https://www.listyourself.net/ListYourself/listing.jsp')
time.sleep(2)
Phone1 = web.find_element("xpath",'/html/body/div/div[2]/div[2]/div[1]/form/div[1]/div[2]/input[1]')
Phone1.send_keys(str(Phoneinput))
线路
read_=file.read()
将文件的整个内容读取到分配给变量
str
的单个read
值中。然后,您尝试访问不存在的变量 contents
,假设 contents
是一个 list,其元素是各个行。将对 file.read
的呼叫替换为
contents = file.readlines()
让你的假设成立。