Selenium 创建完整页面截图WebDriver

Selenium 创建完整页面截图WebDriver,selenium,selenium-webdriver,webdriver,Selenium,Selenium Webdriver,Webdriver,有人知道使用WebDriver创建完整页面截图的方法吗 我想知道,如果我的某个测试未能在浏览器关闭并将其保存在共享位置之前创建完整页面(甚至是屏幕上不可见的部分)屏幕截图 Image image = default(Image); if (Clipboard.GetDataObject() != null) { IDataObject data = Clipboard.GetDataObject(); if (data.GetDataPr

有人知道使用WebDriver创建完整页面截图的方法吗

我想知道,如果我的某个测试未能在浏览器关闭并将其保存在共享位置之前创建完整页面(甚至是屏幕上不可见的部分)屏幕截图

    Image image = default(Image);
    if (Clipboard.GetDataObject() != null)
    {
        IDataObject data = Clipboard.GetDataObject();

        if (data.GetDataPresent(DataFormats.Bitmap))
        {
            Image image = (Image)data.GetData(DataFormats.Bitmap,true);

            image.Save("image.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);
        }
        else
        {
            Console.WriteLine("The Data In Clipboard is not as image format");
        }
    }
    else
    {
        Console.WriteLine("The Clipboard was empty");
    }
   string newImageName = string.Concat(@"C:\SampleSharedFolder\", Guid.NewGuid());
   image.Save(newImageName );    
   Console.WriteLine("Image save location: {0}", newImageName);
另外,如果可能的话,我想将结果输出到Jenkins控制台日志


谢谢

您可以为Firefox使用以下扩展:

您可以在%APPDATA%\Mozilla\Firefox\Profiles\

扩展提供了将屏幕截图复制到剪贴板的功能。 您可以使用它的JS方法来执行屏幕截图。之后,您可以从剪贴板中检索图像,并将其保存为共享位置上的文件

    Image image = default(Image);
    if (Clipboard.GetDataObject() != null)
    {
        IDataObject data = Clipboard.GetDataObject();

        if (data.GetDataPresent(DataFormats.Bitmap))
        {
            Image image = (Image)data.GetData(DataFormats.Bitmap,true);

            image.Save("image.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);
        }
        else
        {
            Console.WriteLine("The Data In Clipboard is not as image format");
        }
    }
    else
    {
        Console.WriteLine("The Clipboard was empty");
    }
   string newImageName = string.Concat(@"C:\SampleSharedFolder\", Guid.NewGuid());
   image.Save(newImageName );    
   Console.WriteLine("Image save location: {0}", newImageName);

一旦将结果填充到控制台,就很容易将其输出回Jenkins。您可以在我的文章中找到更多信息:

您可以使用Snagit执行全页屏幕截图。更多信息请点击此处:

首先,您需要启动Snagit服务器,然后按照文档进行操作。

可能重复的也可能重复的