Python:如何将从文本文件读取的行输入到变量中

问题描述 投票:0回答:1

我目前正在编写一个 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))
python forms fill auto
1个回答
0
投票

线路

read_=file.read()

将文件的整个内容读取到分配给变量

str
的单个
read
值中。然后,您尝试访问不存在的变量
contents
,假设
contents
是一个 list,其元素是各个行。将对
file.read
的呼叫替换为

contents = file.readlines()

让你的假设成立。

© www.soinside.com 2019 - 2024. All rights reserved.