2013-08-06 1 views
1

몇 가지 문제가 있습니다. C#으로 webdriver를 사용하고 있습니다. 여기에 코드selenium.WebDriver를 사용하여 스크린 샷을 찍는 동안 System.NullReferenceException

ITakesScreenshot screenshotDriver = driver as ITakesScreenshot; 
Screenshot screenshot = screenshotDriver.GetScreenshot(); 
screenshot.SaveAsFile("c:/Image_23.png", System.Drawing.Imaging.ImageFormat.Jpeg); 

는이 라인 System.NullReferenceException을 던져 그 다음입니다 :

Screenshot screenshot = screenshotDriver.GetScreenshot(); 

어디에서 잘못입니까?

+0

screenshotDriver 객체가 null 인 경우입니다. 드라이버 개체가 ITakesScreenshot에서 전송되지 않습니다. – Jack

+0

필자는이 라이브러리에 익숙하지 않지만'ITakesScreenshot screenshotDriver = ITakesScreenshot '드라이버'라인을 변경해야합니다. 라이브러리의 작동 방식에 따라 'ITakesScreenshot screenshotDriver = 새 ITakesScreenShot (드라이버)'와 같을 수도 있지만 라이브러리에 따라 다를 수 있습니다. – danielunderwood

+0

어떤 유형의 드라이버입니까? 직접 캐스팅 해보고 무슨 일이 일어나는 지 볼 수 있습니다 :'var screenshotDriver = (ITakesScreenshot) driver;'..... – Arran

답변

0

System.NullReferenceException은 개체를 null로두면 발생합니다. 코드 Screenshot = screenshot = screenshotDriver.GetScreenshot();이 null 인 경우 컴파일하기 전에 값을 넣어야합니다.

관련 문제