Reputation: 91
I am on Windows 10.
I am trying to use Selenium to automate the Edge browser (or any other browser) via Excel VBA.
I went to https://www.selenium.dev/downloads/
There I downloaded
Selenium Server, Latest stable version 3.141.59
and
Python 3.141.0 November 01, 2018 4.0.0a6.post1 May 28, 2020 Download
(I am not using Python but I might in the future.)
Then I opened Excel VBA and opened Tools but could not find the “Selenium Type Library” option in the drop down.
I did more reading and I downloaded SeleniumBasic at https://github.com/florentbr/SeleniumBasic/releases/tag/v2.0.9.0
This made the option “Selenium Type Library” appear on the Tools dropdown.
I selected the “Selenium Type Library” option.
I entered this code in the VBA editor, which I got off the web. It opens Chrome. I could not find how to open Edge.
Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
driver.Start "Chrome"
Application.Wait Now + TimeValue("00:00:20")
End Sub
It failed on the line:
driver.Start "Chrome"
It gave an error:
Exception from unknown error
Upvotes: 6
Views: 12671
Reputation: 974
For Edge -
Check edgedriver.exe version from the command line -
PS C:\Users\david\appdata\Local\SeleniumBasic> .\edgedriver -v
Microsoft Edge WebDriver 116.0.1938.81 (bc0eb28b55bd3...
download the latest edgedriver version -
from here https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
this code was tested on Windows 11 with Excel 365 VBA
Option Explicit
Sub sbBing()
Dim wd As New WebDriver
wd.Start "edge", "https://www.bing.com"
wd.Get "/"
sbDelay (200000)
End Sub
Sub sbDelay(delay As Long)
Dim i As Long
For i = 1 To delay
DoEvents
Next i
End Sub
Upvotes: 0
Reputation: 974
The OP did say - to automate the Edge browser (or any other browser) via Excel VBA - and technically nowadays IE is available via Edge in IE mode.
This code works on Windows 11 with Excel 365 VBA.
Sub sbIETest()
Dim ie As New InternetExplorer ' ref - Microsoft Internet Controls
ie.Visible = True
ie.navigate "https://www.microsoft.com/en-gb/download/internet-explorer.aspx"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
End Sub
Upvotes: 0
Reputation: 1
don't forget to add the VBA reference: Selenium Type Library
here is a link that had all the puzzle pieces in one place: https://www.makeuseof.com/tag/how-to-automate-firefox-or-chrome-with-vba-and-selenium/
Upvotes: 0
Reputation: 1
For Edge you don't need Selenium. Use "Microsoft Internet Controls" instead of "Selenium Type Libra"
Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.navigate "YOUR_URL"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
End Sub
Upvotes: -1
Reputation: 637
Do you have the selenium chromium driver installed? That is required and it is different than the server and Visual library. This is the actual chrome binary that will launch and run. Download the latest version and place it in path such that basic can access it. I believe the path is C:\Users\ *Username\AppData\Local\SeleniumBasic
The executable should also be lowercase:
Dim driver As New WebDriver
driver.Start "chrome"
driver.Get "https://duckduckgo.com"
Upvotes: 4