2013-08-06 55 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();为空,请确保在尝试编译之前向其中添加值

相关问题