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
相关产品推荐
相关产品推荐

