JAVA - 代码片段分享 - Selenium 网页截屏

前言

寒江流水月如镜,孤舟独行影自轻。

简介

  1. 文章使用selenium框架进行某一个网站的截屏后生成文件,代码为核心片段,需要有一定代码阅读能力,代码不可以直接使用,需要整合到你实际项目当中。
  2. 后期有时间构建完成的代码示例

selenium版本依赖


<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>4.5.0</version>
</dependency>

核心代码片段


// 创建chrome参数控制
ChromeOptions co = new ChromeOptions();
co.setPageLoadStrategy(PageLoadStrategy.NORMAL);
co.addArguments("--disable-blink-features=AutomationControlled");
co.addArguments("--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36");
co.setHeadless(false); //设置静谧访问
co.addArguments("--window-size=1920,1080");
co.addArguments("--remote-allow-origins=*");
co.addArguments("--ignore-certificate-errors");
// 缩放比例
co.addArguments("--force-device-scale-factor=" + 0.8);
// 日志
co.setCapability(LogType.BROWSER, Level.ALL);

// 构建web控制器
WebDriver d = new ChromeDriver(co);
d.manage().timeouts().pageLoadTimeout(Duration.ofMinutes(15));  // 页面加载 15分钟超时
d.manage().window().maximize();  // 最大化
d.get("https://www.baidu.com/");


// 截屏核心代码
File srcFile = ((TakesScreenshot) d).getScreenshotAs(OutputType.FILE);
String orderPath = "d:/temp/xxxx.png";
FileUtil.del(orderPath); // 删除
FileUtil.copyFile(srcFile, new File(orderPath));
if(new File(orderPath).exists()){
   // 截屏成功 结束
   System.out.println("文件 {} 截屏成功",orderPath);
}

结束语 · 微信搜索公众号:果核程序员

文章中API都验证过,可直接运行👽👽👽
运行有问题可联系作者评论交流🤭🤭🤭
风是自由的,你也是自由🤠🤠🤠
欢迎一起交流学习☠️☠️☠️
有帮助请留下足迹 一键三连🥰🥰🥰
爬虫大佬勿喷,欢迎指正问题😈😈😈
后面会做一系列的爬虫文章,请持续关注作者🤡🤡🤡。

微信搜索:果核程序员

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

果核 JAVA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值