excel - 使用 VBA 和 Selenium 自动化 Google Chrome

标签 excel vba selenium google-chrome google-chrome-extension

我正在尝试使用 Selenium 插件从 Excel VBE 操作 Chrome。

  • 我已将 Selenium 类型库包含在我的引用文献中。
  • 我运行的是 Chrome v67。
  • 我已经替换了 Selenium 中的 Chromedriver.exe 文件 与 Chrome v67 兼容的版本的基本目录(即 Chromedriver 版本 38)。

我的VBA代码:

Public Sub seleniumtutorial()
Dim bot As New WebDriver
'bot.AddArgument "--headless"
'bot.AddArgument "--disable-extensions"
bot.Start "chrome", "http://google.com"
bot.Get "/"
bot.TakeScreenshot.SaveAs (ActiveWorkbook.Path + "/screenshot.jpg")
bot.Quit
End Sub

我收到以下错误消息:

enter image description here

如果我包含这行代码,则不会出现错误消息,但我无法看到 Chrome 窗口:

bot.AddArgument "--headless"

如果我包含这行代码,就像类似问题的答案所建议的那样,它不能解决问题。

bot.AddArgument "--disable-extensions"

最佳答案

从 VBA 的角度来看,您使用了错误的驱动程序类来自动化 Chrome。您确认了 ChromeDriver 的位置,但在您的代码中完全忽略了它。

将以下行中的 WebDriver 替换为 ChromeDriver:Dim bot As New WebDriver

或使用:Dim bot As New Selenium.ChromeDriver

这是问题#1。问题#2 是您收到的错误消息。当您使用 WebDriver 时,您应该会收到运行时错误,而不是策略警告。

没有提供足够的信息来解决问题 #2,并且它可能与 VBA 没有任何关系。鉴于错误消息,您可能需要与管理员聊天。

关于excel - 使用 VBA 和 Selenium 自动化 Google Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51552801/

相关文章:

excel - Excel的 'Dependency-Chain'是增加还是减少?

vba - 从 Excel VBA 将页眉/页脚插入新创建的 Word 文档

vba - 查找合并单元格vba的列号

css - 无法获取 Kendo Dropdown 的元素 - Selenium

C# - 以编程方式打开和关闭 excel 文件的正确方法

forms - Excel VBA代码理解

excel - 为什么这个数组公式不起作用?

vba - 为 VBA 编辑器选择字体

python - 如何从unittest框架中的另一个测试调用测试方法?

java - 元素在点 (693, 14) 处不可单击。其他元素将收到点击 : With Chrome Driver only