Java+Selenium3方法篇30-Selenium中截图方法-TakeScreenshot

2023-11-06

        前面几篇介绍了Actions类中两种方法,本来打算介绍右键,然后类似点击向下箭头这样操作,但是在现在的firefox和chrome都不能正常实现,记得之前selenium2.53是可以在firefox上实现的。本篇介绍Selenium中截图类TakeScreenshout,这个类主要是获取浏览器窗体内的内容,不包括浏览器的菜单和桌面的任务栏区域,我们用百度首页来截图,看看截图效果。

       在包下新建一个TakeScreenshot.java文件,在你eclipse当前项目根目录,新建一个叫Screenshots的文件夹,用来保存我们的截图文件,写入如下代码。

package lessons;

import java.io.File;
import java.io.IOException;
import java.util.concurrent.TimeUnit;

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.chrome.ChromeDriver;

public class TakeScreenshot {
	
public static void main(String[] args) throws Exception {  
        
        System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");  
           
        WebDriver driver = new ChromeDriver();  
     
        driver.manage().window().maximize();  
       
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
          
        driver.get("https://www.baidu.com");  
       
        Thread.sleep(1000);
        
        // 调用截图方法
        File src= ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
        
        try {
            // 拷贝截图文件到我们项目./Screenshots
        	FileUtils.copyFile(src, new File(".\\Screenshots\\screen.png"));
        }
         
        catch (IOException e)
         {
        	System.out.println(e.getMessage());
         
         }
      
      }

}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java+Selenium3方法篇30-Selenium中截图方法-TakeScreenshot 的相关文章

  • OpenTelemetry 项目解读

    点击一键订阅 云荐大咖 专栏 获取官方推荐精品内容 学技术不迷路 随着分布式应用越来越普遍 分布式应用需要依赖强大的可观测性设施来提供监控保障 强大的可观测性设施需要依赖高质量的遥测数据 虽然已经有许多开源或者商业供应商提供了遥测数据监测采
  • 华为eNSP实验-防火墙模拟配置(采用ping命令逐步分析)

    ensp防火墙模拟配置 采用ping命令逐步分析 1 各设备的IP地址配置 按如图所示配置好各个设备对应的IP地址 注意点 1 图中cloud2云处需要关联电脑上对应的虚拟网卡 2 实验中我使用的是华为USG6000V防火墙 需要下载软件包
  • 用批处理写修改注册表的命令

    一般书写格式 reg add 注册表路径 v 值名 t 要修改的数值类型 d 想要输入的数据 f 这个选项可根据情况自行添加 意为不用提示就强行改写现有注册表项 如果在批处理中不想显示出命令执行过程可以再reg前面加入 后面加上 gt nu
  • 使用python安装nginx

    肯定有小伙伴疑问哈 安装nginx仅仅需要几条命令如果只是单单安装简单使用os system os Popen几乎就足以完成 那么为什么要写这么多呢 笔者在写这段代码的时候一个是想让代码更加美观 显得比较专业 另一方面无论安装什么 配置什么
  • 前端 js实现模糊搜索

    前端 js实现模糊搜索 template
  • 全世界最好的编辑器VIM之Windows配置(gvim)

    全世界最好的编辑器VIM之Windows配置 gvim vundle插件管理 NERDTree插件 ctrlp插件 vim nerdtree tabs插件等 vim本来就是很强大 很方便的编辑器 再加上这些杀手级的插件 那就真的无敌了 官方
  • Caused by:org.springframework.beans.factory.NoSuchBeanDefinitionException:No qualifying bean of type

    今天使用Junit单元测试写了个测试spring的AnnotationConfigApplicationContext 的测试方法 代码如下 public class TestApplicationContext Test 较为经典的容器
  • 大数据学习-4.Hadoop运行环境搭建(二)

    文章目录 一 下载JDK和Hadoop安装包 二 安装JDK 三 安装Hadoop 1 单机模式搭建 2 分布式模式搭建 一 下载JDK和Hadoop安装包 下载地址 阿里云 提取码 q6y6 二 安装JDK 测试主机是否有java环境 如

随机推荐

  • 电磁场与电磁波第二章 电磁场的基本规律

    文章目录 第二章 电磁场的基本规律 电荷守恒定律 1 电荷与电荷密度 2 电流与电流密度 3 电荷守恒定律 电流连续性方程 真空中静电场的基本规律 1 库仑定律 电场强度 1 电场强度 2 几种典型电荷分布的电场强度 2 静电场的散度与旋度
  • 博弈论中存在的先动优势和后动优势

    博弈论中存在的先动优势和后动优势 完全信息动态博弈 Stackel berg寡头竞争模型属于先动优势 轮流出价的讨价还价模型 当均衡结果与T无关的时候且 1 贴现因子 2 1 双方无限的耐心 时 存在后动优势 因为他将拒绝任何自己不能得到全
  • idea中java源码英文注释的翻译

    效果展示 操作步骤两步 安装translation插件 设置翻译引擎 安装translation插件 选择该插件 安装好后重启idea即可使用 设置翻译引擎 这里用有道翻译演示 注册好后在业务里面创建翻译接口 创建好后把id和密钥复制填上去
  • 入门深度学习——基于全连接神经网络的手写数字识别案例(python代码实现)

    入门深度学习 基于全连接神经网络的手写数字识别案例 python代码实现 一 网络构建 1 1 问题导入 如图所示 数字五的图片作为输入 layer01层为输入层 layer02层为隐藏层 找出每列最大值对应索引为输出层 根据下图给出的网络
  • java手工注入bean,Spring注入Bean的一些方式总结

    通过注解注入Bean 背景 我们谈到Spring的时候一定会提到IOC容器 DI依赖注入 Spring通过将一个个类标注为Bean的方法注入到IOC容器中 达到了控制反转的效果 那么我们刚开始接触Bean的时候 一定是使用xml文件 一个一
  • 常见数据库安装

    简介 本文记录了常用数据库 MySQL PostgreSQL MSSQL Oracle Redis MongoDB在Windows 及Linux Ubuntu 下 MSSQL Oracle除外 的安装 macOS可参考前两者 解决了Orac
  • win10家庭版找不到组策略gpedit.msc的解决方法

    废话不多说 直接上方法 注意的事项我会再后面讲到 1 打开记事本 在记事本中保存如下批处理内容 echo off pushd dp0 dir b systemroot Windows servicing Packages Microsoft
  • Windows系统调用架构分析—也谈KiFastCallEntry函数地址的获取

    Windows系统调用架构分析 也谈KiFastCallEntry函数地址的获取 windows api 汇编 hook 存储 system 目录 为什么要写这篇文章 1 因为最近在学习 软件调试 这本书 看到书中的某个调试历程中讲了Win
  • proj.4的下载和编译

    简介 下载 编译 生成lib 简介 没啥好说的 地图坐标转换的库 下载 https github com OSGeo PROJ 选择tags下的最新版7 2 0 安装方法参考git下的安装说明 gt https proj org insta
  • Web3.0是什么?只需要记住这三个关键词

    作者 赛联区块链教育张群 2020年以后 科技发展一日千里 稍有不慎我们就会被社会淘汰 区块链 Web3是2022年最大风口 也是互联网未来发展趋势 Web3 0到底是什么 在给学员讲区块链课时我给大家用了这这三个词 保证你瞬时就能深刻理解
  • 2、k8s pod原理详解

    2 k8s pod原理详解 Kubernetes Pod 介绍 Pod 介绍与原理 POD操作实战 POD的创建和删除 pod的生命周期管理 资源的配额和限制 静态pod Init Containers k8s健康检查 POD镜像升级 po
  • 软件测试用例模板和例子_如何设计一个好的测试用例

    什么是测试用例 测试用例也叫测试案例 是在执行测试之前由测试人员编写的指导测试过程的重要文档 主要包括 用例编号 测试目的 测试步骤 预期结果等 注意 不同公司使用的用例模板可能存在差异 但都大同小异 为什么要写测试用例 1 防止测试点的遗
  • 数百款惠普打印机易受严重RCE漏洞影响

    聚焦源代码安全 网罗国内外最新资讯 编译 代码卫士 惠普发布了关于三个严重漏洞的安全公告 它们影响数百款 LaserJet Pro Pagewide Pro Office Jet Enterprise Large Format 和 Desk
  • C++程序如何编译运行

    下面是C 入门的hello world程序源码 include
  • 企业做数字化转型,该如何选择适合自己的数据可视化工具?

    企业该如何选择适合自己的数据可视化工具 A 公司准备进行数字化转型了 老板让我找一个BI工具 但是市面上的选择太多了 我到底是该看品牌还是该看功能呢 B 你了解过BI工具的设计路线吗 其实很多人都忽略了 这也是选BI的重要参考点之一 A B
  • axios拦截器作用及工作流程详解

    axios 拦截器 在请求或响应被then或catch处理之前拦截它们 作用 主要是在axios请求和响应之前拦截请求和响应数据 拦截器有两种 请求拦截器一般会统一在请求头中添加token 响应拦截一般会处理异常错误信息 以及401跳转登录
  • 使用delphi开发人工智能程序(环境搭建)

    1 下载P4D组件 1 下载 2 安装 设置libraries路径 D python4delphi master Source 编译和安装 成功 运行demo测试 D python4delphi master Demos Demo02
  • OGAI详解:AIStation调度平台如何实现大模型高效长时间持续训练

    大模型是当前通用人工智能产业发展创新的核心技术 目前国内已发布的生成式AI模型超过了100个 面向以大模型为核心的生成式AI开发与应用场景 近日浪潮信息发布了大模型智算软件栈OGAI Open GenAI Infra 元脑生智 为大模型业务
  • 【毕业设计】基于超声波智能跟随小车 - 单片机 物联网 stm32 c51

    文章目录 1 项目简介 2 课题背景 3 硬件说明 3 1 小车硬件设计 3 2 小车底座 3 3 无线收发器 3 4 超声波模块 3 5 直流电机和电源 3 6 目标携带装置 3 7 整体电路图 4 跟随系统的软件设计 4 1 方案一 4
  • Java+Selenium3方法篇30-Selenium中截图方法-TakeScreenshot

    前面几篇介绍了Actions类中两种方法 本来打算介绍右键 然后类似点击向下箭头这样操作 但是在现在的firefox和chrome都不能正常实现 记得之前selenium2 53是可以在firefox上实现的 本篇介绍Selenium中截图