使用IE9中的Selenium捕获整个页面的屏幕截图

时间:2011-10-25 17:28:13

标签: c# selenium selenium-webdriver

我试图让CaptureEntirePageScreenshot为IE9工作。我已经阅读了很多文档和wiki来使这个工作,但到目前为止我没有任何工作。

所以我想我会直接使用snapsie。所以我下载了dll并使用这些instructions进行了注册。然后我直接使用它:

selenium.GetEval(js_code + "this.browserbot.getUserWindow().Snapsie.saveSnapshot('C:\\pic\\test.png');");

然而,我收到错误:

  

自动化服务器无法创建对象

有什么想法吗?

感谢任何有关让snapsie.js工作的一般帮助。我在带有IE9和FF4的Windows 7机器上使用最新的selenium服务器(2.9.0)。我正在使用C#。

1 个答案:

答案 0 :(得分:1)

我不确定您使用Snapsie的原因,但从Internetexplorer获取屏幕截图的最简单方法是使用InternetExplorerDriver本身:

IWebDriver driver;
driver = new InternetExplorerDriver();
// change this line if you want to use an different Browser / WebDriver Implementation
//driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://www.google.com/");
IWebElement query = driver.FindElement(By.Name("q"));
query.SendKeys("Cheese");
// TODO: wait
((ITakesScreenshot)driver).GetScreenshot().SaveAsFile(@"screenIE.png", ImageFormat.Png);