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.)