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

Windows任务计划程序执行Selenium脚本时的VPN选择异常问题

任务计划触发时强制显示Chrome的解决办法

任务计划执行时浏览器不显示,核心是任务的运行上下文和显示权限配置问题,按以下步骤修改:

  • 打开任务计划程序,找到目标任务进入「属性」:
    • 常规标签页:选择「只在用户登录时运行」,勾选「使用最高权限运行」,同时确保勾选「允许此任务与桌面交互」(部分Windows版本叫「显示用户界面」)
    • 设置标签页:取消勾选「如果计算机切换到电池电源,则停止任务」,避免电源模式干扰

同时,确保Selenium代码明确禁用无头模式,避免默认触发:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.headless = False  # 强制禁用无头模式
chrome_options.add_argument("--start-maximized")
chrome_options.add_argument("--disable-gpu")  # 规避部分显示兼容问题

driver = webdriver.Chrome(options=chrome_options)
替代坐标点击的VPN操作优化方案

基于屏幕坐标的点击稳定性极差,推荐直接操作VeePN扩展的页面元素:

  1. 获取VeePN的扩展ID:
    打开Chrome的chrome://extensions/,开启右上角「开发者模式」,找到VeePN扩展后复制其ID(一串随机字符串)

  2. 通过Selenium操作扩展弹窗:
    直接访问扩展的弹窗页面,用元素定位替代坐标点击,示例代码:

    # 替换为你的VeePN扩展ID
    VPN_EXTENSION_ID = "abcdefghijklmnopqrstuvwxyzabcdef"
    driver.get(f"chrome-extension://{VPN_EXTENSION_ID}/popup.html")
    
    # 显式等待页面加载,定位目标VPN节点
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    
    wait = WebDriverWait(driver, 15)
    # 示例:通过文本定位目标VPN服务器,替换为你需要的服务器名称
    target_server = wait.until(EC.element_to_be_clickable((By.XPATH, "//span[text()='美国洛杉矶']")))
    target_server.click()
    
  3. 进阶方案:调用扩展后台API
    部分VPN扩展提供后台脚本接口,可通过Chrome DevTools Protocol直接调用扩展的连接方法,完全跳过界面操作。你可以查看VeePN扩展的源码或开发者文档,找到类似connect(serverId)的方法,再通过Selenium的execute_cdp_cmd调用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 17:40:24