2013-08-06 78 views
1

存在一些問題。我在C#中使用webdriver。下面是代碼System.NullReferenceException在使用selenium截圖時.WebDriver

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

然後拋出System.NullReferenceException爲線:

​​

我在哪裏弄錯了?

+0

screenshotDriver對象在您的情況下爲null。驅動程序對象不在ITakesScreenshot中投射。 – Jack

+0

我對這個庫不熟悉,但是需要更改'ITakesScreenshot screenshotDriver = driver作爲ITakesScreenshot;'行。根據圖書館的工作方式,它可能類似於「ITakesScreenshot screenshotDriver = new ITakesScreenShot(driver);',但根據圖書館可能有所不同。 – danielunderwood

+0

它是什麼類型的驅動程序?你可以嘗試直接投射它,看看會發生什麼:'var screenshotDriver =(ITakesScreenshot)driver'' ..... – Arran

回答

0

System.NullReferenceException發生在您將對象留空的情況下。在您的代碼中,Screenshot = screenshot = screenshotDriver.GetScreenshot();爲空,請確保在嘗試編譯之前向其中添加值

相關問題