Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9738

【正式版】Selenium4のEdgeDriverでChromium版MicrosoftEdgeを動かす(IEモードもできるよ♪)

$
0
0
はじめに 以前こんな記事を書きました: 【α版】Selenium4のEdgeDriverでChromium版MicrosoftEdgeを動かす が、ついにSelenium4が正式リリースされたので改めて整理しなおしてみました! ※動かせた時の感動は省略 ※実際、α版と比べるとコーディングはガラッと変わってます やったこと Chromium版MicrosoftEdgeの取得 こちらからダウンロード&インストール NuGet Selenium系の参照 注意 お手元の Edge のバージョンに対応した driver を取得する必要があります。 MsEdgeでこのURLを叩けばOK:edge://settings/help より高いバージョンのEdge(β版など)を動かしたい場合はこちらからmsedgedriverをダウンロード ソース 以前書いた記事と比較すると、より自然な実装ができるようになりました。嬉しい! ヘッドレスモードも画面ショットも問題ないですよ! // Headlessモードはこんな感じ: // var options = new EdgeOptions(); // options.AddArgument("--headless"); // using (var driver = new EdgeDriver(options)) using (var driver = new EdgeDriver()) { var wait = new WebDriverWait(driver, new TimeSpan(0, 0, 5)); driver.Navigate().GoToUrl("https://www.google.com"); var q = driver.FindElement(By.Name("q")); q.SendKeys("Chromium"); q.Submit(); wait.Until(ExpectedConditions.TitleIs("Chromium - Google 検索")); ((ITakesScreenshot)driver).GetScreenshot().SaveAsFile($"{DateTime.Now:yyyyMMddHHmmss}.png"); } 本来EdgeDriverクラスはレガシーEdge用で、 α版時点ではEdgeOptions.UseChromiumを指定する必要があったのですが、 namespace OpenQA.Selenium.Edge { public class EdgeDriver : ChromiumDriver } てな具合でEdgeDriverはChromium版Edge専用クラスと生まれ変わったようです。 IEモード IEモードについては以下の通りです。 NuGet IEDriverが必要なんですね。 ソース var options = new InternetExplorerOptions { AttachToEdgeChrome = true, EdgeExecutablePath = @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" }; using (var driver = new InternetExplorerDriver(options)) { // 略 } こんな感じでアドレスバーにIEマークが表示されればOKです。 注意点 msedge のプロセスが既に動作しているときに実行するとIEモードで動いてくれません 実行時はmsedgeのプロセスをKILLしましょう IEの事前設定が必要です(Seleniumあるある) 拡大率を100%にしましょう インターネットオプション → セキュリティですべてのゾーンで「☑保護モードを有効にする」をしましょう 以前までは… こちらの記事の通りにコーディングすると動きましたが、正式版では実行時エラーとなります: Seleniumを使ってChromium版EdgeのIEモードを動かしてみた 気づいたこと こんな変更があったりするので、バージョン上げるときは要注意です。 // Before ビルドエラー var q = driver.FindElementByName("q"); // After var q = driver.FindElement(By.Name("q")); 詳細はこちら:How to upgrade to Selenium 4 おわりに Seleniumさん、引き続きよろしくな!

Viewing all articles
Browse latest Browse all 9738

Trending Articles