我试图输出数据从一个文本文件逐行到一个网站上的搜索框。我正在使用Selenium与网页进行交互
但是,当我的代码写入网页上的文本字段时,它会粘贴文本文件的全部内容,而不是第一行,加载页面,然后搜索第二行,依此类推。。。。。请看下面我的代码:
with open("SerialNumbers.txt") as sn:
for line in sn:
search_field = driver.find_element_by_id('criteria[1][1]')
search_field.click()
serials = sn.read().splitlines()
search_field.send_keys(serials)
search_field.send_keys(Keys.ENTER)
当发送文本文件(serials)的第一行到search\字段时,它开始写入SerialNumbers.txt的全部内容
如果可能的话,请告诉我哪里出错了,因为我确信将变量定义为sn.read().splitlines()应该告诉python从列表中逐行读取
也许你的文件改成这样:
查看代码,由于
for line in sn:
,您已经在迭代文件的行了。但是,serials = sn.read().splitlines()
会导致serials
包含文件中的行列表。因为send_keys
可以获取要发送的键列表,它只发送文件中的所有数据。如果您想搜索一行,然后搜索下一行,等等,那么我建议您将line
放在第一行send_keys
中,如下所示:您可能需要修剪行尾,因为每行都可能包含
\n
字符。您可以使用str.rstrip()
来完成这项操作,它将删除所有尾随的空格字符,如果这不会中断您的搜索或者,您可以执行
sn.read().splitlines()
并像这样迭代:相关问题 更多 >
编程相关推荐