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

如何将Excel中存储的Xpath值应用于Selenium循环实现自动输入

Selenium+openpyxl逐行操作改循环实现

固定行范围版本(完全匹配原代码2~8行的操作逻辑)

from openpyxl import load_workbook
from selenium.webdriver.common.keys import Keys

load_wb = load_workbook(filename, data_only=True)
load_ws = load_wb['apple']

# 遍历行号2到8,range左闭右开所以结束值写9
for row in range(2, 9):
    xpath_val = load_ws[f'E{row}'].value
    input_val = load_ws[f'D{row}'].value
    # 跳过Xpath为空的行
    if not xpath_val:
        continue
    elem = driver.find_element_by_xpath(xpath_val)
    elem.send_keys(Keys.CONTROL + 'a', Keys.DELETE)
    elem.send_keys(input_val)

通用自动遍历版本(无需手动指定行范围,自动处理所有有Xpath值的行)

from openpyxl import load_workbook
from selenium.webdriver.common.keys import Keys

load_wb = load_workbook(filename, data_only=True)
load_ws = load_wb['apple']

# 跳过第一行表头,从第二行开始遍历所有行
for row in load_ws.iter_rows(min_row=2, values_only=False):
    xpath_val = row[4].value  # E列是第5列,索引从0开始所以取4
    input_val = row[3].value  # D列是第4列,索引从0开始所以取3
    if not xpath_val:
        continue
    elem = driver.find_element_by_xpath(xpath_val)
    elem.send_keys(Keys.CONTROL + 'a', Keys.DELETE)
    elem.send_keys(input_val)

注意事项

  • Selenium 4.0及以上版本已弃用find_element_by_xpath写法,建议替换为以下兼容写法:
    from selenium.webdriver.common.by import By
    elem = driver.find_element(By.XPATH, xpath_val)
    
  • 可自行添加try-except异常捕获逻辑,处理Xpath无效、元素不可交互等异常场景,避免程序直接终止。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 09:00:00