FirefoxDriver의 레거시 구현 대신 Selenium 3.0.0-beta2 및 Geckodriver를 사용하도록 프로젝트를 업데이트했습니다. 브라우저 내 모든 테스트는 여전히 문제없이 작동 다른 모든,하지만 게코에서 수행하려고 내 모든 시험 방법 및 모든 FindElement 조치에서 예외가 발생합니다 :Selenium 3에서 FindElement 제한 시간 초과 - GeckoDriver
WebDriverException : 원격 WebDriver 서버에 HTTP 요청 URL http://localhost:28957/session/17e03419-11f5-417f-be98-11d323f72a6a/elements에 대해 10 초 후에 시간이 초과되었습니다.
Gecko를 사용하여 FirefoxDriver의 새 인스턴스를 시작하고 다른 창으로 이동하여 javascript를 실행하는 것과 같은 몇 가지 방법이 여전히 문제없이 작동합니다.
내 드라이버 설정 :private static void SetupFirefoxDriver()
{
var driverService = FirefoxDriverService.CreateDefaultService(DriversPath, "geckodriver.exe");
driverService.FirefoxBinaryPath = @"C:\Program Files (x86)\Mozilla Firefox\Firefox.exe";
driverService.HideCommandPromptWindow = true;
driverService.SuppressInitialDiagnosticInformation = true;
var option = new FirefoxOptions();
option.AddAdditionalCapability(CapabilityType.AcceptSslCertificates, true);
option.AddAdditionalCapability("browser.download.folderList", 2);
option.AddAdditionalCapability("browser.download.dir", Config.DiretorioDeDownload);
option.AddAdditionalCapability("browser.download.downloadDir", Config.DiretorioDeDownload);
option.AddAdditionalCapability("browser.download.defaultFolder", Config.DiretorioDeDownload);
option.AddAdditionalCapability("browser.helperApps.neverAsk.saveToDisk", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel, text/csv, application/pdf, application/octet-stream");
SeleniumWebDriver.Driver = new FirefoxDriver(driverService, option, TimeSpan.FromSeconds(10));
}
내 설정 :
- GeckoDriver 0.10,
- 셀레늄 3.0.0 - 베타 2를,
- 파이어 폭스 48.0.1,
- 윈도우 (10) 64 비트,
- geckodriver.exe 64 비트,
- C#.
불행히도 내 문제를 해결하지 못했습니다. 필자는 블로그 게시물과 비슷한 구현 방식을 사용했지만 이전 버전 인 firefoxdriver와 다른 언어에서 사용했던 기능 만 더 많이 사용했습니다. –