【问题标题】:Automate Edge/Chrome Web Browser via VBA without Selenium or External Installations通过 VBA 自动化 Edge/Chrome Web 浏览器,无需 Selenium 或外部安装
【发布时间】:2022-07-06 08:12:26
【问题描述】:

目前,对于我的 6 人团队,其中 5 人没有编程/开发知识,我们正在使用网络自动化通过 VBA 和 Excel 宏在 Internet Explorer 中填写网络表单。当前方法的好处是,我的团队中的任何人在运行自动化时都无需安装任何外部软件/包,因为它只需要 Microsoft Office Excel VBA。

是否有无需安装其他软件/包即可利用 Microsoft Edge 或 Chrome 的现有代码的解决方案?

【问题讨论】:

  • 简短回答:不,你需要一个微软外部的API,这是因为结构发生了变化,就像要求在写字板上有word功能,而不需要安装office word。一种解决方法是单击并发送按键命令,但这非常不可靠。我知道你给公司带来的繁文缛节,但遗憾的是,世界在发展,IE 和现在一样存在安全风险。
  • 我明白了,感谢您输入@Sgdva。我遇到了你提到的繁文缛节问题,但我相信我的团队和公司会理解,我们需要适应和推进外部 API 以避免安全风险。
  • @Sgdva 实际上,您可以使用 WebSockets 从 VBA 自动化 Chrome。 chromedevtools.github.io/devtools-protocol
  • @ExcelHero 感谢您的参与,您真的名副其实。我不知道 WebSockets,非常感谢。除了提供的链接之外,还有其他更面向 VBA 的资源/文档以及如何利用?
  • 它很少,但 Google 可以提供帮助。 Selenium 本身是基于 WebSockets 构建的。

标签: excel vba selenium


【解决方案1】:

这不会直接让您使用现有的解决方案,因为控制 Edge/Chrome 的模型与控制 IE 的 VBA 代码不同,但无需额外安装即可从 Excel/VBA 控制 Edge/Chrome/Firefox软件感谢他们通过 websockets 支持 Chrome 开发者协议。作为参考,可以在https://github.com/EagleAglow/vba-websocket-class 找到一个允许连接到 VBA 中的 websockets 的类,并用于另一个使用 websocketshttps://github.com/PerditionC/VBAChromeDevProtocol 从 Excel 自动执行 Edge/Chrome 的项目但如果您可以使用 Selenium 或 Playwright 或其他工具,它可能会更可靠。还有https://www.codeproject.com/Tips/5307593/Automate-Chrome-Edge-using-VBA,它是上述项目的原始基础——它额外支持保存连接信息,因此可以跨宏调用使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    • 2015-11-16
    • 2014-02-20
    • 1970-01-01
    相关资源
    最近更新 更多