Selenium의 ChromeDriver에서 Chromium 버전 Microsoft Edge를 실행합니다.
소개
브라우저 자동화 테스트의 사실 표준입니다 Selenium그리고 공식적으로 출시되었습니다 Chromium版MicrosoftEdge과연 ChromeDriver 를 사용하여 Chromium 버전 Microsoft Edge를 조작할 수 있습니까?
※ 움직일 수 있었을 때의 감동은 생략
2021/11/07 Selenium4가 공식 출시되었으므로 새로 기사를 썼습니다.
이 기사를 참조하십시오 :
【정식판】Selenium4의 EdgeDriver로 Chromium판 Microsoft Edge를 움직인다(IE 모드도 할 수 있어♪)
2020/01/23 여러가 잘못되었으므로 수정했습니다
2020/06/14 다양한 상황이 바뀌었으므로 새롭게 기사를 썼습니다
이 기사를 참조하십시오 :
Selenium4의 EdgeDriver에서 Chromium 버전 Microsoft Edge를 실행합니다.
MsEdge 의 v80 이후에 이 기사의 방법을 채용하면, 다음과 같은 예외가 발생하게 되어 버렸습니다. .
System.InvalidOperationException: session not created: No matching capabilities found (SessionNotCreated)
했던 일
Chromium용 MicrosoftEdge 얻기
여기 에서 다운로드 및 설치
msedgedriver.exe 얻기
여기 에서 다운로드
이때 Edge 버전에 해당하는 driver를 가져와야 합니다.

NuGet
Selenium 시스템의 모듈 참조

출처
포인트는 3개
Chromium용 MicrosoftEdge 얻기
여기 에서 다운로드 및 설치
msedgedriver.exe 얻기
여기 에서 다운로드
이때
Edge 버전에 해당하는 driver를 가져와야 합니다.
NuGet
Selenium 시스템의 모듈 참조
출처
포인트는 3개
ChromeDriver 클래스 사용 ChromeDriverService 에서 얻은 msedgedriver.exe를 지정합니다 ChromeOptions.BinaryLocation 에서, msedge.exe 를 지정한다 // モジュールと同階層に driver.exe を配置した場合
var service = ChromeDriverService.CreateDefaultService(".", "msedgedriver.exe");
var options = new ChromeOptions
{
// MsEdgeがインストールされたパスを指定
BinaryLocation = @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
};
// ヘッドレスモードも可能!
//options.AddArgument("--headless");
using (var driver = new ChromeDriver(service, options))
{
var wait = new WebDriverWait(driver, new TimeSpan(0, 0, 5));
driver.Navigate().GoToUrl("https://www.google.com");
var q = driver.FindElementByName("q");
q.SendKeys("Chromium");
q.Submit();
wait.Until(ExpectedConditions.TitleIs("Chromium - Google 検索"));
((ITakesScreenshot)driver).GetScreenshot().SaveAsFile($"{DateTime.Now.ToString("yyyyMMddHHmmss")}.png");
}
헤드리스에도 대응!
옵션 지정에 의한 헤드리스 모드에도 대응하고 있는 것을 확인했습니다!
options.AddArgument("--headless");
스크린샷이 이런 느낌으로 획득됩니다!

결론
options.AddArgument("--headless");
BinaryLocation 를 직접 지정할 필요가 있으므로 환경 마다 변경할 필요가 나올 가능성이 있다.Selenium4 이후, BinaryLocation driver 는 NuGet 배포해 주었으면 한다.NuGet 에서 Selenium.WebDriver.MSEdgeDriver 가 배포 되었습니다! Reference
이 문제에 관하여(Selenium의 ChromeDriver에서 Chromium 버전 Microsoft Edge를 실행합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yk109/items/3054cae9591f7fee8c2b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)