如何用Python+Selenium将文本文件内容分批填入HTML文本框
实现按两行一组读取文件并填充Selenium输入框的方案
核心思路
- 一次性读取源文件所有行,过滤空行避免无效数据
- 按每两行划分为一组,依次处理每组内容
- 每处理完一组,将未处理的剩余行写回原文件,实现“移除已处理行”的效果
- 结合Selenium完成输入框的填充操作,同时将已处理内容记录到输出文件
完整实现代码
from selenium import webdriver from selenium.webdriver.common.by import By # 定义文件路径 source_file = "E:/youtube.txt" processed_file = "E:/output.txt" # 初始化浏览器并打开目标页面 url = "你的目标网页URL" # 替换为实际网页地址 driver = webdriver.Firefox() driver.get(url) try: # 读取源文件内容,过滤空行并去除首尾空白 with open(source_file, 'r', encoding='utf-8') as f: lines = [line.strip() for line in f if line.strip()] # 按步长2遍历,每次处理两行数据 while len(lines) >= 2: # 取出当前组的两行数据 name_text = lines[0] type_text = lines[1] # 填充name输入框(先清空避免残留内容) name_input = driver.find_element(By.NAME, 'name') name_input.clear() name_input.send_keys(name_text) # 填充type输入框 type_input = driver.find_element(By.NAME, 'type') type_input.clear() type_input.send_keys(type_text) # 【可选】添加提交按钮点击等后续操作 # submit_btn = driver.find_element(By.ID, "submit-button") # submit_btn.click() # 将已处理行追加到记录文件 with open(processed_file, 'a', encoding='utf-8') as f: f.write(f"{name_text}\n{type_text}\n") # 更新源文件,保留未处理的剩余行 lines = lines[2:] with open(source_file, 'w', encoding='utf-8') as f: for line in lines: f.write(f"{line}\n") finally: # 确保操作完成后关闭浏览器 driver.quit()
关键细节说明
- 数据过滤:通过列表推导式自动过滤空行和首尾空白字符,避免处理无效的空内容
- 循环处理:用
while len(lines) >=2确保只处理完整的两行组,避免最后一行单独存在时的索引错误 - 文件更新:每次处理完一组后,直接将剩余行覆盖写入源文件,实现“移除已处理行”的需求
- 输入框操作:填充前调用
clear()清空输入框,防止之前的内容残留影响结果
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

