Windows 10

Selenium WebDriverでChromium版Edgeを操作してみました。

先日書いた下記記事の通り、Chromium版Microsoft Edge(Chromium Edge)の正式版がついにリリースされました。

今回はSelenium WebDriverを使ってChromium Edgeを操作してみたいと思います。

WebDriverのダウンロード

まずは操作に必要なEdge用のWebDriverをダウンロードします。

  1. Chromium Edgeを実行し、[…](設定など) → [ヘルプとフィードバック] から「Microsoft Edge について」を開いて、バージョンを確認します。2020年1月17日時点では、Stableチャネルのバージョンは「79.0.309.65」となっています。
  2. WebDriverのダウンロードページにアクセスし、環境にあったWebDriver(zip形式)をダウンロードします。
  3. ダウンロードしたzipを解凍し、WebDriver本体(msedgedriver.exe)を適当なフォルダ(今回は[C:\System\Driver])に保存します。

.NET用Seleniumのダウンロード

今回はPowerShellでコードを書く予定なので、.NET向けのSeleniumを使います。
現時点での最新版 4.0.0-alpha04 を、下記コマンドのようにNuGetでバージョンを指定してダウンロードします。

nuget install "Selenium.WebDriver" -Version 4.0.0-alpha04

Chromium版Edgeを操作するPowerShellコード

実際のコードは下記になります。
DLLのパスやEdge本体、WebDriverのパスは環境に応じて書き換えてください。

[void][Reflection.Assembly]::LoadFile("C:\System\selenium\WebDriver.dll") #DLL読み込み

$msedge = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" #Edge本体のパス
$msedgedriverDir = "C:\System\Driver" #Edge Driverがあるフォルダのパス
$msedgedriverExe = "msedgedriver.exe" #Edge Driver名
$edgeOptions = New-Object OpenQA.Selenium.Edge.EdgeOptions($false)
$edgeOptions.BinaryLocation = $msedge
#Chromium Edgeを操作するときはisLegacyをfalseにする
$service =  [OpenQA.Selenium.Edge.EdgeDriverService]::CreateDefaultService($msedgedriverDir, $msedgedriverExe, $false)
$service.EnableVerboseLogging = $true
$driver = New-Object OpenQA.Selenium.Edge.EdgeDriver($service, $edgeOptions)

#以降ブラウザー操作
$driver.Navigate().GoToUrl("https://www.yahoo.co.jp/")
$driver.FindElementByName("p").SendKeys("初心者備忘録")
$driver.FindElementByClassName("gdgGoT").Click()

分かりづらいですが、下図が動作画面です。
意図した通りに操作できていることが確認できます。

EdgeHTML版のEdgeでは、下記記事のようにInternet Explorer_Serverクラスのウィンドウ経由で無理やりIEのように操作可能でしたが、Chromium Edgeではそれができません。
今後Edgeの操作を自動化する際は、公式に用意されているWebDriverを使用するのが良いでしょう。

参考Webサイト

関連記事

  1. Windows関連

    Windows 10 IMEの「クラウド候補機能」の仕組みを追ってみた。

    「ついにWindows 10 日本語IMEにクラウド候補機能が搭載され…

  2. Windows 10

    YouTubeの「歌ってみた」動画を非表示にするMicrosoft Edge拡張機能

    私はよくYouTubeで動画を見るのですが、公式PVを見たいだけなのに…

  3. Windows関連

    [Windows 8.1]VB5CCEをインストールしてみました。

    ※ 下記はWindows 8.1 RTM(日本語版・32ビット)に基づ…

  4. Windows 10

    Windows Insider Meetup in Japan 3 東京に参加しました。

    前回のイベント(下記記事参照)から8か月、Windows Inside…

  5. PowerShell

    [PowerShell]MailKitを使ってメールにファイルを添付する方法

    先日、PowerShellからMailKitを使ってメールを送信する方…

  6. Windows関連

    [Windows 8]画像をタッチしてログオンする。

    ※ 下記はWindows Developer Preview(英語版・…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP