Mozilla Firefox,中文俗稱火狐瀏覽器,使用Gecko引擎。
- Firefox瀏覽器的下載
在其他瀏覽器中打開上述URL,點擊“立即下載”按鈕。
下載Firefox-latest.exe可執行文件,雙擊並安裝。
安裝結束后,默認安裝位置位於:
C:\Program Files\Mozilla Firefox
手工啟動Firefox瀏覽器,點擊菜單“幫助”、“關於Firefox”
可以看到版本號是67.0.4(32位)。
看清楚版本號以后,就可以搜索與之匹配的驅動文件了。
- 驅動文件的下載
Firefox瀏覽器的驅動文件是geckodriver.exe,下載地址位於:
https://github.com/mozilla/geckodriver/releases
可以看到最新版是v0.26.0,向下滾動到Assets中,下載與Firefox版本適合的驅動文件。
解壓到E:\Selenium\Drivers路徑下。
- 啟動瀏覽器
示例代碼:
Private WD As SeleniumBasic.IWebDriver Sub Baidu() On Error GoTo Err1 Dim Service As SeleniumBasic.FirefoxDriverService Dim Options As SeleniumBasic.FirefoxOptions Set WD = New SeleniumBasic.IWebDriver Set Service = New SeleniumBasic.FirefoxDriverService With Service .CreateDefaultService driverPath:="E:\Selenium\Drivers" .HideCommandPromptWindow = True End With Set Options = New SeleniumBasic.FirefoxOptions With Options .BrowserExecutableLocation = "C:\Program Files\Mozilla Firefox\firefox.exe" End With WD.New_FirefoxDriver Service:=Service, Options:=Options WD.URL = "https://www.baidu.com" Dim form As SeleniumBasic.IWebElement Dim keyword As SeleniumBasic.IWebElement Dim button As SeleniumBasic.IWebElement Set form = WD.FindElementById("form") Set keyword = form.FindElementById("kw") keyword.Clear keyword.SendKeys "好看視頻" Set button = form.FindElementById("su") button.Click Debug.Print WD.Title, WD.URL Debug.Print WD.PageSource MsgBox "下面退出瀏覽器。" WD.Quit Exit Sub Err1: MsgBox Err.Description, vbCritical End Sub Sub Music() On Error GoTo Err1 Dim Service As SeleniumBasic.FirefoxDriverService Dim Options As SeleniumBasic.FirefoxOptions Dim Actions As SeleniumBasic.Actions Dim Utility As SeleniumBasic.Utility Dim Keys As SeleniumBasic.Keys Dim i As Integer Set WD = New SeleniumBasic.IWebDriver Set Utility = New SeleniumBasic.Utility Set Actions = New SeleniumBasic.Actions Set Keys = New SeleniumBasic.Keys Set Service = New SeleniumBasic.FirefoxDriverService With Service .CreateDefaultService driverPath:="E:\Selenium\Drivers" .HideCommandPromptWindow = True End With Set Options = New SeleniumBasic.FirefoxOptions With Options .BrowserExecutableLocation = "C:\Program Files\Mozilla Firefox\firefox.exe" End With WD.New_FirefoxDriver Service:=Service, Options:=Options WD.URL = "https://music.163.com/#" WD.Manage.Timeouts.PageLoad = 59 Utility.Sleep 3000 Dim search As SeleniumBasic.IWebElement Dim iframe As IWebElement Dim items() As SeleniumBasic.IWebElement Dim a As SeleniumBasic.IWebElement Dim item As SeleniumBasic.IWebElement Dim result As Variant Dim lockicon As SeleniumBasic.IWebElement Dim prv As SeleniumBasic.IWebElement Dim play As SeleniumBasic.IWebElement Set search = WD.FindElementById("srch") If search Is Nothing = False Then search.Clear Utility.Sleep 1000 search.SendKeys "周華健" Utility.Sleep 1000 search.SendKeys Keys.Enter Utility.Sleep 1000 Set iframe = WD.FindElementById("g_iframe") WD.SwitchTo.Frame iframe Set a = WD.FindElementByLinkText("單曲") a.Click Utility.Sleep 1000 items = WD.FindElementsByCssSelector("[class='opt hshow']") For i = 0 To UBound(items) Set item = items(i) result = WD.ExecuteScript("arguments[0].scrollIntoView(true);", item) Set Actions = New SeleniumBasic.Actions Actions.Create WD Utility.Sleep 1000 Actions.MoveToElement(item).Perform Utility.Sleep 1000 item.FindElementByTagName("a").Click Next i WD.SwitchTo.DefaultContent Set lockicon = WD.FindElementByClassName("btn") lockicon.Click Utility.Sleep 1000 Dim div As SeleniumBasic.IWebElement Dim buttons() As SeleniumBasic.IWebElement Set div = WD.FindElementById("g_player").FindElementByClassName("btns") buttons = div.FindElementsByTagName("a") Utility.Sleep 1000 buttons(0).Click buttons(2).Click If buttons(1).GetAttribute("data-action") = "play" Then buttons(1).Click End If End If Stop WD.Quit Exit Sub Err1: Stop Resume End Sub
- 運行截圖