使用vba和chrome填写表单

时间:2012-12-06 19:20:22

标签: google-chrome vba firefox browser-automation

目前我可以使用IE

完成此操作
Dim ie As InternetExplorer
Set ie = New InternetExplorer
ie.Navigate "www.google.com"
ie.document.getElementByID("blah").value = "blah"

我很好奇是否有办法导航到网站并使用VBA以外的其他信息填写信息,例如使用FireFox或Chrome

我知道如何使用任何浏览器导航到其他网站,例如Chrome,如下所示,但我想知道如何使用Chrome在www.google.com上填写搜索字段等字段

call Shell("C:\Program Files\Google\Chrome\Application\chrome.exe"& " " & URL)

2 个答案:

答案 0 :(得分:3)

您可以使用此Selenium wrapper来推动Chrome或Firefox(或PhantomJS)。请注意,它目前处于测试阶段。安装后,要么添加对Selenium Type Library的引用,要么使用后期​​绑定(例如下面的代码)。

在我(非常)有限的测试中,唯一明显的区别是加载驱动程序所需的几秒钟。

以上链接中的一个简单示例(已修改为使用后期绑定)填写了Google中的搜索字段并点击了搜索按钮:

Dim selDriver As Object
Set selDriver = CreateObject("Selenium.WebDriver")

selDriver.Start "chrome", "http://www.google.com/"
selDriver.Open "http://www.google.com"
selDriver.Type "name=q", "Eiffel Tower"
selDriver.Click "name=btnG"

selDriver.stop

答案 1 :(得分:1)

截至2016年,Selenium包装器已移至Github而非上述Google地址。此外,如果您使用的是Chrome,则需要更新Google Chrome here的网络驱动程序。

Selenium Basic

下载这些项后,您需要按照上面的说明从Excel中将库添加到Visual Basic编辑器中。执行此操作后,您应该能够使用最初请求的vba和chrome填写Web表单。