当前位置: 首页 > 知识库问答 >
问题:

如何在每次与页面交互后截图?Java,硒

越扬
2023-03-14

我需要在每次与页面交互后截图(点击,滚动等)我该怎么做?我使用硒和爪哇。

共有1个答案

花永昌
2023-03-14

下面是一个简单的示例,展示了如何使用Selenium和Java截图。

您可以在任何需要的地方使用“拍摄快照”功能:

import java.io.File;

import org.apache.commons.io.FileUtils;

import org.openqa.selenium.OutputType;

import org.openqa.selenium.TakesScreenshot;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.testng.annotations.Test;

public class Guru99TakeScreenshot {

    @Test

    public void testGuru99TakeScreenShot() throws Exception{

        WebDriver driver ;
        System.setProperty("webdriver.gecko.driver","C:\\geckodriver.exe");
        driver = new FirefoxDriver();

        //goto url

        driver.get("http://demo.guru99.com/V4/");

        //Call take screenshot function

        this.takeSnapShot(driver, "c://test.png") ;     

    }

    /**

     * This function will take screenshot

     * @param webdriver

     * @param fileWithPath

     * @throws Exception

     */

    public static void takeSnapShot(WebDriver webdriver,String fileWithPath) throws Exception{

        //Convert web driver object to TakeScreenshot

        TakesScreenshot scrShot =((TakesScreenshot)webdriver);

        //Call getScreenshotAs method to create image file

                File SrcFile=scrShot.getScreenshotAs(OutputType.FILE);

            //Move image file to new destination

                File DestFile=new File(fileWithPath);

                //Copy file at destination

                FileUtils.copyFile(SrcFile, DestFile);

    }

}

来源

 类似资料:
  • 如题,目前通过iframe组件将grafana展示在前端页面中,现想要实现:用户输入设备名并选择时间区间后展示响应时间内某设备的数据(某值的折线图),请问如何配置grafana以及前端代码实现此功能? 目前iframe中相关链接只有类似这样的: localhost:3000/d-solo/afd33dcf-75ea-77bc-a4d1-32237d284c94/new-dashboard?orgI

  • WeX5的前端是由若干个页面构成的,运行时,页面间有以下几种关系:Shell打开页面、页面与对话框的交互、页面与内嵌页面的交互。 Shell打开页面 WeX5中,Shell负责管理所有的页面;在同一时刻,允许多个页面同时运行,有且只有一个活动页面(即当前页面)。 配合 参考案例 :/UI2/demo/page/index.w 1、打开页面 打开页面时,可以调用以下api: justep.Shell

  • 与图表交互 这个库允许你完全自定义与图表视图触摸交互的各种情况以及对交互其作用的回调方法。 打开/关闭交互 setTouchEnabled(boolean enabled): 允许你打开或者关闭与图表的所有触摸交互的情况。 setDragEnabled(boolean enabled): 打开或关闭对图表的拖动。 setScaleEnabled(boolean enabled):打开或关闭对图表所

  • 我从Python(x,y)2.7升级。2.3至2.7。Windows 7中的6.0(我很高兴看到我终于可以键入,并再次在对象检查器中查看文档字符串),但现在绘图不再像以前那样工作。 以前(Spyder 2.1.9,IPython 0.10.2,matplotlib 1.2.1),当我绘制这个脚本时,例如,它会在交互式窗口中并排绘制子情节: 现在(Spyder 2.2.5、IPython 1.2.0

  • 我想建立小型应用程序。会有一些用户。我不想做自己的用户系统。我想将我的应用程序与oauth/oauth2.0集成。 集成我的前端应用程序和oauth 2.0没有问题。有很多有用的文章,如何做到这一点,即使在 stackoverflow.com 上。例如,这篇文章非常有帮助。 但是。在前端成功授权后,我该怎么办?当然,我可以在客户端上有标志,上面写着“好的,伙计,用户已通过身份验证”,但是我现在应该

  • 场景: 比如有一个调查问卷的项目,每个问卷里有很多道题,点击可以切换下一道题 假设我需要在显示之后的题目之前,展示所有题目的预览页面,且可以截图,应该如何显示? (如果只能在预览页面里遍历所有的题目全部渲染,这样是否会有性能问题?)