用Selenium WebDriver截图
有谁知道是否可以使用Selenium WebDriver截图? (注意:不是Selenium RC)
Java的
对的,这是可能的。 以下示例在Java中:
WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com/");
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
// Now you can do whatever you need to do with it, for example copy somewhere
FileUtils.copyFile(scrFile, new File("c:tmpscreenshot.png"));
蟒蛇
每个WebDriver都有一个.save_screenshot(filename)
方法。 所以对于Firefox,它可以像这样使用:
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://www.google.com/')
browser.save_screenshot('screenie.png')
browser.quit()
令人困惑的是,一个.get_screenshot_as_file(filename)
方法也存在,可以做同样的事情。
还有一些方法: .get_screenshot_as_base64()
(用于嵌入html)和.get_screenshot_as_png()
(用于检索二进制数据)。
并注意WebElements有一个类似的.screenshot()
方法,但只捕获选定的元素。
C#
public void TakeScreenshot()
{
try
{
Screenshot ss = ((ITakesScreenshot)driver).GetScreenshot();
ss.SaveAsFile(@"D:ScreenshotsSeleniumTestingScreenshot.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
throw;
}
}
链接地址: http://www.djcxy.com/p/62559.html
上一篇: Take a screenshot with Selenium WebDriver
下一篇: how to load class dynamically at aar file with DexClassLoader