セレンC#のChromium Edge BrowserでIEモードを有効にする方法は?
Aug 22 2020
IEモードを有効にする必要があるEdgeのWebサイトを自動化したい。セレンでIEモードでEdgeを起動するにはどうすればよいですか?
私が現在使用している以下のコードは、非IEモードでEdgeを起動し、Webサイトを正しく表示しません。
Dim edgeDriverService = Microsoft.Edge.SeleniumTools.EdgeDriverService.CreateChromiumService()
Dim edgeOptions = New Microsoft.Edge.SeleniumTools.EdgeOptions()
edgeOptions.PageLoadStrategy = PageLoadStrategy.Normal
edgeOptions.UseChromium = True
Dim driver As IWebDriver = New Microsoft.Edge.SeleniumTools.EdgeDriver(edgeDriverService, edgeOptions)
driver.Navigate().GoToUrl("http://example.com")
使用してみましたedgeOptions.AddAdditionalCapability("ie.edgechromium", True)
が、機能しませんでした
回答
2 YuZhou Aug 24 2020 at 07:02
Selenium C#のEdge ChromiumでIEモードを使用する方法については、この記事の「InternetExplorerモードの自動化」セクションを参照してください。
次の手順を参照できます。
- SeleniumサイトからIEDriverServerの最新バージョンをダウンロードします。ここでは、32ビットのWindowsIEバージョン3.150.1を使用しています。
- これに従ってIEDriverを使用するためのいくつかの準備をしてください。
- Visual Studioを使用してC#コンソールプロジェクトを作成します。
- NugetパッケージマネージャーからSelenium.WebDriver3.141.0nugetパッケージをインストールします。
- 以下のコードをプロジェクトに追加し、コード内の独自のパスを変更します。
static void Main(string[] args)
{
var dir = "{FULL_PATH_TO_IEDRIVERSERVER}";
var driver = "IEDriverServer.exe";
if (!Directory.Exists(dir) || !File.Exists(Path.Combine(dir, driver)))
{
Console.WriteLine("Failed to find {0} in {1} folder.", dir, driver);
return;
}
var ieService = InternetExplorerDriverService.CreateDefaultService(dir, driver);
var ieOptions = new InternetExplorerOptions{};
ieOptions.AddAdditionalCapability("ie.edgechromium", true);
ieOptions.AddAdditionalCapability("ie.edgepath", "{FULL_PATH_TO_MSEDGE.EXE}");
var webdriver = new InternetExplorerDriver(ieService, ieOptions, TimeSpan.FromSeconds(30));
webdriver.Url = "http://www.example.com";
}
- プロジェクトを実行してテストします。

ノート:
- コードを実行する前に、必ずすべてのEdgeブラウザのタブとウィンドウを閉じてください。
- コードではフルパスを使用します。例:
ieOptions.AddAdditionalCapability("ie.edgepath", @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe");
。