Contents
ブラウザを起動します。起動するブラウザを第一引数に指定します。ドライバーのバージョンが違うと起動できないので、WebDriverDownload (自作関数)でドライバーのダウンロードを行ってください。
URLの遷移はWebDriver.Get メソッドを使います。
- 構文
- WebDriver.Start( browser, baseUrl )
- 引数
- browser(String)必須
- 起動するブラウザ名(chrome、firefox、edgeのいずれか)を指定。
- baseUrl(String)省略可
- 戻り値
ブラウザの起動
WebDriver.Start メソッドの第一引数に起動するブラウザを指定します。Google Chromeを起動するにはchromeを指定します。プログラム(メインルーチン)が終わるとブラウザも閉じてしまうので、待機処理を入れておきます。
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")
WebDriver.Start("chrome")
SLEEP(3.000)
WebDriver.Quit
起動後にすぐ落ちる
WebDriver.Start メソッドでブラウザを起動してもすぐに落ちる場合、ブラウザとドライバーのバージョンが異なっていることが原因としてあります。
ドライバーとはchromedriver.exe、firefox.exe、msedge.exeでC:/Users/username/AppData/Local/SeleniumBasic/にあります。
ブラウザにはバージョンがありアップデートするたびにバージョンが変更されます。ドライバーはブラウザにあったものでないと機能しないため、ブラウザがアップデートするたびにドライバーも更新する必要があります。
ブラウザが更新されるたびに手動で更新するのは面倒なので、ブラウザの起動前にWebDriverDownload (自作関数)を実行することでブラウザのバージョンに合わせてドライバーの更新を行います。
Firefoxが起動しない
Firefox ver47以降ではFirefoxドライバーが動かないようです。ブラウザのバージョンをver46.0.1にダウングレードする、もしくは最新のドライバーでも動くChromeドライバーで代用してください。
プログラム実行例
Twitterをアプリモードで起動(Chrome)
Twitterをアプリモードで起動します。
Twitterをアプリモード・ユーザーエージェントをスマホにして起動(Chrome)
起動オプションを追加して起動します。起動オプションを複数指定する場合は、AddArgumentを繰り返し実行します。
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")
WITH WebDriver
.AddArgument("--app=https://twitter.com")
.Start("chrome")
.Wait(10000)
ENDWITH
Google Chromeで検索(WebDriver)
Google Chromeでhttps://google.comを開き、検索ボックスにUWSCと入力し、検索ボタンをクリックします。
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")
WITH WebDriver
.AddArgument("--app=https://twitter.com")
.AddArgument("--user-agent='Mozilla/5.0 (Linux; Android 13; SOG06) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Mobile Safari/537.36'")
.AddArgument("--window-position=0,0")
.AddArgument("--window-size=432,768")
.Start("chrome")
.Wait(10000)
ENDWITH
この記事は役に立ちましたか?
参考文献
- Selenium Basic+VBAでfirefoxで特定のページを表示したい
- Firefox 48以降でselenium-webdriverが動作しない問題とその回避策 - Qiita
- https://github.com/florentbr/SeleniumBasic/issues/133