WebDriver.Startスタート メソッド

ブラウザを起動します。起動するブラウザを第一引数に指定します。ドライバーのバージョンが違うと起動できないので、WebDriverDownload (自作関数)でドライバーのダウンロードを行ってください。

URLの遷移はWebDriver.Get メソッドを使います。

構文
WebDriver.Start( browser, baseUrl )
引数
browser(String)必須
起動するブラウザ名(chromefirefoxedgeのいずれか)を指定。
baseUrl(String)省略可
戻り値

ブラウザの起動

WebDriver.Start メソッドの第一引数に起動するブラウザを指定します。Google Chromeを起動するにはchromeを指定します。プログラム(メインルーチン)が終わるとブラウザも閉じてしまうので、待機処理を入れておきます。

UWSC
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")
WebDriver.Start("chrome")
SLEEP(3.000)
WebDriver.Quit

起動後にすぐ落ちる

WebDriver.Start メソッドでブラウザを起動してもすぐに落ちる場合、ブラウザとドライバーのバージョンが異なっていることが原因としてあります。

ドライバーとはchromedriver.exefirefox.exemsedge.exeC:/Users/username/AppData/Local/SeleniumBasic/にあります。

ブラウザにはバージョンがありアップデートするたびにバージョンが変更されます。ドライバーはブラウザにあったものでないと機能しないため、ブラウザがアップデートするたびにドライバーも更新する必要があります。

ブラウザが更新されるたびに手動で更新するのは面倒なので、ブラウザの起動前にWebDriverDownload (自作関数)を実行することでブラウザのバージョンに合わせてドライバーの更新を行います。

Firefoxが起動しない

Firefox ver47以降ではFirefoxドライバーが動かないようです。ブラウザのバージョンをver46.0.1にダウングレードする、もしくは最新のドライバーでも動くChromeドライバーで代用してください。

プログラム実行例

Twitterをアプリモードで起動(Chrome)

Twitterをアプリモードで起動します。

UWSC
使用関数
解説

Twitterをアプリモード・ユーザーエージェントをスマホにして起動(Chrome)

起動オプションを追加して起動します。起動オプションを複数指定する場合は、AddArgumentを繰り返し実行します。

UWSC
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と入力し、検索ボタンをクリックします。

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
使用関数
解説

この記事は役に立ちましたか?

はい
いいえ
ご協力ありがとうございます。

参考文献

  1. Selenium Basic+VBAでfirefoxで特定のページを表示したい
  2. Firefox 48以降でselenium-webdriverが動作しない問題とその回避策 - Qiita
  3. https://github.com/florentbr/SeleniumBasic/issues/133