无法在 vba Selenium中设置铬首选项



我在vba中创建了一个脚本,并结合了Selenium来解析此网页的第一个标题。大多数情况下,我的脚本会timeout抛出此错误或此错误Run-time error 21; Application defined or Object defined error,而有时它可以完美运行。由于页面加载其内容需要太多时间,我想我遇到了加载缓慢页面的副作用之一,所以我希望禁用该页面中的图像。

我试过:

Sub TestSelenium()
    Const URL$ = "https://www.marketscreener.com/"
    Dim driver As Object, post As Object
    Set driver = New ChromeDriver
    driver.get URL
    Set post = driver.FindElementByCss(".une_title")
    MsgBox post.Text
    driver.Quit
End Sub

当我使用 python 硒绑定时,我可以使用此选项禁用图像:

option = webdriver.ChromeOptions()
chrome_prefs = {}
option.experimental_options["prefs"] = chrome_prefs
chrome_prefs["profile.default_content_settings"] = {"images": 2}
chrome_prefs["profile.managed_default_content_settings"] = {"images": 2}
driver = webdriver.Chrome(options=option)

我知道有一些选项可以在 vba 中设置不同的首选项,但如果禁用图像,我找不到任何正确的方法来设置它们:

driver.SetPreference
driver.AddArgument

如何在 vba 硒中设置镶边首选项,让页面在没有图像的情况下快速加载?

要禁用该页面中的图像,您可以在 vba 硒绑定中设置首选项的方法如下:

driver.SetPreference "profile.managed_default_content_settings.images", 2

实现上述建议时,脚本如下所示:

Sub TestSelenium()
    Const URL$ = "https://www.marketscreener.com/"
    Dim driver As Object, post As Object
    Set driver = New ChromeDriver
    driver.SetPreference "profile.managed_default_content_settings.images", 2
    driver.get URL
    Set post = driver.FindElementByCss(".une_title")
    MsgBox post.Text
    Stop
    driver.Quit
End Sub

你总是可以尝试无头运行它吗?这应该消除与图像加载相关的任何延迟。

driver.AddArgument "--headless"

相关内容

  • 没有找到相关文章

最新更新