C# 使用selenium.WebDriver拍摄屏幕截图时发生System.NullReferenceException

C# 使用selenium.WebDriver拍摄屏幕截图时发生System.NullReferenceException,c#,selenium-webdriver,C#,Selenium Webdriver,有一些问题。我将webdriver与C#一起使用。这是密码 ITakesScreenshot screenshotDriver = driver as ITakesScreenshot; Screenshot screenshot = screenshotDriver.GetScreenshot(); screenshot.SaveAsFile("c:/Image_23.png", System.Drawing.Imaging.ImageFormat.Jpeg); 然后,它为该行抛出Sy

有一些问题。我将webdriver与C#一起使用。这是密码

 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();

我哪里弄错了?

将对象保留为null时,会发生
System.NullReferenceException
。在您的代码中
Screenshot=Screenshot=screenshotDriver.GetScreenshot()
为空,请确保在尝试编译前将值放入其中

screenshotDriver对象在您的情况下为空。驱动程序对象未在ItakeScreenshot中强制转换。我不熟悉此库,但
ItakeScreenshot screenshotDriver=driver as ItakeScreenshot行需要更改。根据库的工作方式,它可能类似于
ItakesScreenshotScreenshotDriver=new ITakesScreenshot(驱动程序),但根据库的不同,它可能会有所不同。它是什么类型的驱动程序?您可以尝试直接强制转换它,看看会发生什么:
var screenshotDriver=(ITakesScreenshot)driver…我现在也遇到了同样的问题。你找到解决办法了吗?