You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用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()

关键细节说明

  1. 数据过滤:通过列表推导式自动过滤空行和首尾空白字符,避免处理无效的空内容
  2. 循环处理:用while len(lines) >=2确保只处理完整的两行组,避免最后一行单独存在时的索引错误
  3. 文件更新:每次处理完一组后,直接将剩余行覆盖写入源文件,实现“移除已处理行”的需求
  4. 输入框操作:填充前调用clear()清空输入框,防止之前的内容残留影响结果

内容的提问来源于stack exchange,提问作者Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 06:28:33