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

Chrome 65升级后driver.get(url)阻塞,Sikuli无法自动处理凭证弹窗求方案

解决Chrome 65升级后HTTP认证弹窗卡住Selenium执行的问题

首先,你遇到的核心问题是Chrome 65升级后,HTTP基本认证弹窗在driver.get(url)执行时立刻弹出,导致Selenium直接阻塞在这一行,根本没机会走到后面的Sikuli处理代码。下面给你几个可行的解决方案,按优先级排序:

1. 直接在URL中嵌入凭证(最简单高效)

这是绕开认证弹窗最直接的方式,把用户名和密码直接拼进目标URL,格式如下:

url = "http://your_username:your_password@target-domain.com/path"
driver.get(url)

Chrome会自动解析URL里的凭证信息,直接完成认证,不会弹出任何窗口。不过要注意:

  • 这种方式会把密码明文暴露在日志、代码仓库或浏览器地址栏(部分场景下),如果是生产环境或涉及敏感密码,谨慎使用。
  • 部分服务器或安全配置可能禁用这种URL嵌入凭证的方式,需要先测试验证。

2. 提前启动Sikuli线程处理弹窗

既然弹窗是在driver.get(url)执行时立刻出现的,你可以用多线程的方式,在调用driver.get之前先启动一个Sikuli线程,让它等待弹窗出现并完成输入操作。示例代码(以Python为例):

import threading
import time
from sikuli import *

def handle_auth_popup():
    # 等待弹窗加载(可根据实际情况调整等待时长)
    time.sleep(2)
    # 定位用户名输入框并输入
    click("username_field.png")
    type("your_username")
    # 定位密码输入框并输入
    click("password_field.png")
    type("your_password")
    # 点击确认按钮
    click("submit_button.png")

# 先启动处理弹窗的线程
popup_thread = threading.Thread(target=handle_auth_popup)
popup_thread.start()

# 再执行页面跳转
driver.get(url)

# 等待线程执行完成
popup_thread.join()

这种方式保留了你原本的Sikuli操作逻辑,只需要调整执行顺序,就能避免Selenium被弹窗阻塞。

3. 确保Chromedriver与Chrome版本匹配

你提到使用的Chromedriver是2.67,但Chrome 65对应的Chromedriver版本应该是2.37或2.38(Chromedriver和Chrome版本是严格匹配的,大版本差异会导致各种兼容性问题)。版本不兼容可能是弹窗处理逻辑异常的根源,比如Selenium无法正确感知弹窗的出现时机。

建议你替换为对应Chrome 65的Chromedriver版本后再测试,这可能解决一些隐藏的兼容性问题。

4. 使用Chrome扩展自动填充认证信息

你可以开发一个简单的Chrome扩展,在页面加载前自动注入认证信息。扩展的核心逻辑是监听webRequest.onAuthRequired事件,返回凭证信息:

chrome.webRequest.onAuthRequired.addListener(
  function(details) {
    return {
      authCredentials: {username: "your_username", password: "your_password"}
    };
  },
  {urls: ["<all_urls>"]},
  ["blocking"]
);

然后通过ChromeOptions加载这个扩展:

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_extension("path/to/your/auth-extension.crx")
driver = webdriver.Chrome(chrome_options=options)
driver.get(url)

这种方式适合需要长期稳定处理认证弹窗的场景,安全性比URL嵌入更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:15:38