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

Office365中Selenium Basic与VBA结合失效问题求助

Chrome 115更新后SeleniumBasic VBA初始化ChromeDriver失败排查

问题概述

此前可正常运行的VBA自动化代码,在Chrome 115版本更新后,执行到Set sayfa = New Selenium.ChromeDriver语句时立即报错,无法启动Chrome浏览器。已下载与Chrome版本号一致的chromedriver,并按原方式放入SeleniumBasic文件夹,环境为64位Windows 11 + Office 365。

原代码

Option Explicit
Private sayfa As Selenium.ChromeDriver

Sub ojooo()

Set sayfa = New Selenium.ChromeDriver

Dim captcha As Selenium.WebElement

sayfa.Start
sayfa.Get "https://wad.ojooo.com/login.php"
sayfa.Window.Maximize
sayfa.FindElementByName("login_username").SendKeys "username"
sayfa.FindElementByName("login_password").SendKeys "password"

Set captcha = sayfa.FindElementByXPath("//iframe[@title='reCAPTCHA']")

captcha.ScrollIntoView True

sayfa.FindElementById("switchCaptcha").Click
sayfa.Wait 10000
sayfa.FindElementByName("Login2").Click
sayfa.FindElementByClass("closebtn_ads").Click

sayfa.Get "https://wad.ojooo.com/ads.php"

Dim Adresler As Selenium.WebElements
Dim Adresler2 As Selenium.WebElements
Dim Adres As Selenium.WebElement
Dim w As Selenium.Window

Set Adresler = sayfa.FindElementsByXPath("//a[@target='_blank']")

For Each Adres In Adresler

If Adres.IsDisplayed Then
sayfa.Wait 10000
Adres.ScrollIntoView True
Adres.Click ("href")
sayfa.Wait 20000
sayfa.SwitchToNextWindow
sayfa.Window.Close
sayfa.SwitchToPreviousWindow

Else

End If

Next Adres

sayfa.Quit

End Sub

排查与解决方向

  • 验证SeleniumBasic版本兼容性:Chrome 115及后续版本对WebDriver协议有更新,旧版SeleniumBasic可能无法适配,需确认是否安装了支持Chrome 115+的最新版SeleniumBasic。
  • 手动指定路径:避免路径识别问题,在代码中明确指定Chrome二进制文件和chromedriver的绝对路径:
    Set sayfa = New Selenium.ChromeDriver
    sayfa.SetBinary "C:\Program Files\Google\Chrome\Application\chrome.exe" '根据实际安装路径调整
    sayfa.SetDriverPath "C:\path\to\your\chromedriver.exe" '根据实际存放路径调整
    sayfa.Start
    
  • 检查chromedriver完整性:重新下载对应版本的64位chromedriver,解压后替换原有文件,防止文件损坏或下载不完整。
  • 提升运行权限:以管理员身份启动Excel,避免Office因权限不足无法启动Chrome或chromedriver。
  • 添加启动参数:部分环境下需禁用沙箱或调整参数来兼容,修改启动代码:
    Set sayfa = New Selenium.ChromeDriver
    sayfa.AddArgument "--no-sandbox"
    sayfa.AddArgument "--disable-dev-shm-usage"
    sayfa.AddArgument "--disable-gpu"
    sayfa.Start
    
  • 重启系统:清理Chrome更新残留的进程或文件锁,重启电脑后再测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 05:07:10