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

如何不用Selenium实现Python自动勾选网页对应编号复选框

实现方案

你可以使用pyautogui+pyperclip组合,通过调用浏览器控制台执行JS代码完成勾选,完全不需要Selenium,不会触发网站的反爬检测,操作的是你本地正常打开的浏览器窗口。

前置依赖安装

执行以下命令安装需要的库:

pip install pyautogui pyperclip

可用代码

import pyautogui
import pyperclip
import time

def click_checkbox_by_number(target_num: int):
    # 预留5秒时间切换到浏览器窗口,请提前打开目标网页并激活窗口
    time.sleep(5)
    
    # 打开浏览器控制台,Chrome/Edge默认快捷键为F12,Firefox可改为Ctrl+Shift+K
    pyautogui.press('f12')
    time.sleep(1)
    
    # 呼出控制台输入区域,Chrome/Edge可通过ESC或Ctrl+`实现,不生效可手动调整快捷键
    pyautogui.hotkey('ctrl', '`')
    time.sleep(0.5)
    
    # 匹配页面结构的JS执行逻辑
    js_code = f"""
    // 定位对应编号的文本标签
    const runnerSpan = Array.from(document.querySelectorAll('span.size14_f7opyze.Endeavour_fhudrb0.medium_f1wf24vo')).find(span => span.textContent.trim().startsWith('{target_num}.'));
    if (runnerSpan) {{
        // 向上查找公共父容器
        const container = runnerSpan.closest('.outcomeDetailsContainer_f13tqi60');
        // 定位对应复选框并点击
        const checkbox = container.querySelector('i[data-automation-id="correctIsolated"]');
        checkbox && checkbox.click();
    }}
    """
    # 复制JS代码到剪贴板
    pyperclip.copy(js_code)
    time.sleep(0.3)
    
    # 粘贴代码到控制台并执行
    pyautogui.hotkey('ctrl', 'v')
    time.sleep(0.3)
    pyautogui.press('enter')
    time.sleep(0.5)
    
    # 关闭控制台
    pyautogui.press('f12')

if __name__ == '__main__':
    # 读取剪贴板中你从Excel复制的编号
    target_number = int(pyperclip.paste().strip())
    click_checkbox_by_number(target_number)

使用说明

  1. 先手动打开目标网站,正常完成登录操作
  2. 运行你已有的Autogui代码从Excel复制需要勾选的编号
  3. 运行上述代码,5秒内切换到浏览器的目标页面,等待自动执行即可
  4. 若快捷键不匹配你的浏览器,可自行修改代码中对应快捷键参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 03:45:00