Python如何从txt文件读取文本列表并按条件循环填入Selenium定位的输入框
Python Selenium 批量填入编码实现方案
注意事项
- 不要使用
list作为变量名,这是Python内置保留字,会覆盖原生列表功能,引发不可预期的错误 - Windows文件路径的反斜杠在Python字符串中需要转义,直接加
r前缀使用原始字符串更省心 - 读取文件推荐使用
with上下文管理器,执行结束后会自动关闭文件,无需手动处理文件句柄泄漏问题 - 示例中
activation状态判断默认以「元素可见」作为判定标准,你可以根据实际业务需求替换为判断元素类名、文本、属性等逻辑
完整实现代码
from selenium.webdriver.common.by import By import time # 原有元素定位逻辑 activation = driver.find_element(By.XPATH, '//*[@id="__layout"]/div/aside/div/div[1]/section[1]/div[1]/div/div/form/div[2]/div/span') code_input = driver.find_element(By.XPATH, '//*[@id="__layout"]/div/aside/div/div[1]/section[1]/div[1]/div/div/form/div/input') # 自定义activation状态判定逻辑,示例为判断元素可见,可按需修改 if activation.is_displayed(): # 你需要的120秒等待逻辑,可自行调整 time.sleep(120) # 读取本地编码列表,出现编码错误时可将utf-8替换为gbk尝试 with open(r"C:\Users\infin\Desktop\List.txt", "r", encoding="utf-8") as f: # 逐行读取并过滤空行、去除首尾换行和空白字符 code_list = [line.strip() for line in f if line.strip()] # 按列表元素总数循环填入 for code in code_list: # 填入前清空输入框,避免残留内容影响 code_input.clear() # 填入当前编码 code_input.send_keys(code) # 如有提交需求可自行补充对应逻辑,示例为按回车提交: # from selenium.webdriver.common.keys import Keys # code_input.send_keys(Keys.ENTER) # 每次操作后如需加间隔等待可自行添加 # time.sleep(2)
内容的提问来源于stack exchange,提问作者Tasrif Rahman
相关产品推荐
相关产品推荐

