首页 > 解决方案 > 如何在selenium python中循环文本文件中的每个项目

问题描述

我有一个包含四个地址列表的文本文件。请看下面的截图:

在此处输入图像描述

在我的硒刮刀中,我将每个地址作为键传递。addresselements.send_keys(lines). 运行 selenium 驱动程序时,它只从我的文本文件和浏览器中获取第一个地址。

这是我的完整代码的摘要:

from selenium import webdriver
driver =  webdriver.Chrome
url ="my terget url"
driver.get(url) 
addressElement = driver.find_elements_by_css_selector('#search-input-adresse')
        
#impoting address from text file
f = open('address.txt')
lines = f.readline()
        
for addresselements in addressElement:
    addresselements.send_keys(lines) #enter your address 
    addresselements.send_keys(Keys.ENTER)

我如何一一循环所有地址。我也试过这段代码但没有用

f = open('address.txt')
lines = f.readline()
for line in f:        
    for addresselements in addressElement:
         addresselements.send_keys(lines) #enter your address 
         addresselements.send_keys(Keys.ENTER)

标签: pythonselenium-webdriver

解决方案


readline()只读取一行,readlines()如果要从文件中获取所有数据,则需要使用。

with open('address.txt', 'r') as file:
    for line in file.readlines():
        for addresselements in addressElement:
             addresselements.send_keys(line) #enter your address 
             addresselements.send_keys(Keys.ENTER)

推荐阅读