2013-06-20 2 views
0

저는 C#에서 Opera를 제어하기 위해 Selenium을 사용하고 있습니다. 나는 셀레늄 - 서버 - 독립형 - 2.33.0을 사용하고있다. 명령 줄에서 서버를 시작할 때 문제가 없습니다. 내 코드가 잘 작동한다. 하지만 C#에서 서버를 시작해야하며 박쥐 파일 실행으로 시작할 수 있습니다. 나는 서버를 시작하고 드라이버를 만들 수있다. 는 (나는 두 경우 모두에서 서버를 시작 "java -jar selenium-server-standalone-2.33.0.jar -trustAllSSLCertificates" 명령을 사용하고 있습니다.)Selenium 서버가 .NET 내에서 시작됩니다.

내 문제가 : 서버가 C# 코드에서 시작한 경우

, 내 코드는 요소 및 던지는 예외를 찾을 수 없습니다 : (드라이버의 페이지 소스 속성 XXX 요소를 포함) 예외를 발생

내 코드 :. 요소의 모든 속성은 예외를 발생 element = driver.FindElement(By.Id("xxx"));

합니다.

나는 서버를 시작할 때 process.start 권한으로 생각합니다. 나는 많은 것을 수색했으나 나는 아무것도 찾을 수 없었다. 내가 시작할 수

감사

+1

그럼 어떤 페이지는 이쪽 ('element.Displayed' 'System.InvalidOperationException'형식의 예외가 발생했습니다) 반대하는거야? 다른 컴퓨터에서 재현 가능합니까? bat 파일을 사용하여 시작하면 서버를 잘 시작한 것으로 보입니까? 어떤 코드를 사용하고 있습니까? – Arran

+0

명령 줄과 C# 코드에서 "java -jar selenium-server-standalone-2.33.0.jar -trustAllSSLCertificates"명령을 사용하여 서버를 시작할 수 있습니다. –

답변

0

이 명령을 사용하여 명령 행 및 C# 코드에서 "-jar 셀레늄 - 서버 - 독립 - 2.33.0.jar의 -trustAllSSLCertificates 자바"를 절단. 서버 시작 잘 드라이버를 만들 수 있으며 페이지 원본을 볼 수 있습니다.

IWebDriver driver = new RemoteWebDriver(new System.Uri("http://localhost:4444/wd/hub"), DesiredCapabilities.Opera()); 
driver.Navigate().GoToUrl(url); 
driver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(100)); 

하지만이 코드 요소를 통해 WebElement에 도달 할 때 예외를 많이 던졌습니다

IWebElement element; // FindElement(driver, "txtUserName", 100); 
element = driver.FindElement(By.Id("txtUserName")); 
string name = element.GetAttribute("Name"); 
관련 문제