请在下面找到我之前运行正常的代码。 Chrome 115 之后,代码发生了一些变化,或者我不知道。我下载了与 chrome 版本号相同的 chromedriver 并复制到 seleniumbasic 文件夹,就像我之前使用的那样。
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
如果我尝试运行它,它会立即给出错误
设置 sayfa = New Selenium.ChromeDriver
我不明白是什么问题。任何人都可以帮助我,我将不胜感激。
我使用的是 Office 365 windows 11 64 位
我尝试使用这些代码运行,但出现错误,我提到它无法打开 chrome
要说出确切的问题有点困难。您使用的是哪个版本的库?较旧版本的 Selenium 可能无法与较新版本的 chrome 一起使用。
我建议的唯一其他修复可能是检查您的浏览器是否处于无头模式?
我以前从未在 VB 中使用过 Selenium,但 Python 解决方案看起来像这样:
options = ChromeOptions()
options.headless = False
driver = webdriver.Chrome(options=options)
driver.get('http://selenium.dev')
driver.quit()
option.headless = False 是强制浏览器的 GUI 实际加载 Selenium。我之前遇到过 Playwright 的问题,这是由于 Chrome 被置于无头模式所致(在最新版本的 Chrome 上,大约在发布后一两天,这可能可以解释该错误)。
不过我想说,我以前在 Playwright 或 Selenium 上使用 Firefox 时从未遇到过问题。根据您已经为网络抓取/测试目的编写的内容,可能值得考虑切换浏览器。