【α판】Selenium4의 EdgeDriver로 Chromium판 Microsoft Edge를 움직인다

2021/11/07 Selenium4가 공식 출시되었으므로 새로 기사를 썼습니다.
이 기사를 참조하십시오 :
【정식판】Selenium4의 EdgeDriver로 Chromium판 Microsoft Edge를 움직인다(IE 모드도 할 수 있어♪)

이하, Selenium4의 α판이라고 하는 전제하에서 즐겨 주세요.

소개



이전에 이런 기사를 썼습니다.

【Selenium의 ChromeDriver로 Chromium판 Microsoft Edge를 이동한다】
브라우저 자동화 테스트의 사실 표준입니다 Selenium그리고 공식적으로 출시되었습니다 Chromium版MicrosoftEdge과연 ChromeDriver 를 사용하여 Chromium 버전 Microsoft Edge를 조작할 수 있습니까?

하지만, 여러가지 상황이 바뀌었으므로 재차 정리 다시 시도했습니다!

※ 움직일 수 있었을 때의 감동은 생략
변한 포인트는 이하:
  • Selenium 4 (을)를 사용합시다 ※ NuGet 로 취득 가능 (2020/06/14 시점에서 4.0.0-alpha05 )
  • Selenium.WebDriver.MSEdgeDriver (을)를 사용합시다 ※ NuGet 로 취득 가능 (2020/06/14 시점에서 83.0.478.37 )
  • 코딩도 자연스러운 느낌으로 구현할 수 있게 되었습니다! ※ 후술

  • 참고 문헌 : Use WebDriver (Chromium) for test automation

    그건 그렇고



    이전에 쓴 기사의 방법이라면, 이런 예외가 나오게 되어 버렸습니다:

    System.InvalidOperationException: session not created: No matching capabilities found (SessionNotCreated)

    했던 일



    Chromium용 MicrosoftEdge 얻기



    여기 에서 다운로드 및 설치

    NuGet


    Selenium 시스템 참조


    주의



  • Selenium 4 버전에 해당하는 Edge를(를) 구해야 합니다.
  • MsEdge에서이 URL을 두드리면 OK : edge://settings/help
  • 더 높은 버전의 Edge(베타 버전 등)를 이동하려면 여기 에서 driver 다운로드



  • 출처



    포인트는 2개
  • msedgedriver 클래스 사용
  • EdgeDriver 에서 EdgeOptions 로 한다

  • 이전에 쓴 기사 과 비교하면, 보다 자연스러운 구현을 할 수 있게 되었습니다. 기쁘다!
    헤드리스 모드도 스크린샷도 문제 없어요!
    var options = new EdgeOptions
    {
        UseChromium = true
    };
    
    // Headlessモードはこんな感じ:
    //options.AddArgument("--headless");
    
    using (var driver = new EdgeDriver(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:yyyyMMddHHmmss}.png");
    }
    

    결론


  • UseChromium = true 열심히! 빨리 정식판이 되어 줘~!
  • 좋은 웹페이지 즐겨찾기