前言
寒江流水月如镜,孤舟独行影自轻。
简介
- 文章使用selenium框架进行某一个网站的截屏后生成文件,代码为核心片段,需要有一定代码阅读能力,代码不可以直接使用,需要整合到你实际项目当中。
- 后期有时间构建完成的代码示例
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都验证过,可直接运行👽👽👽
运行有问题可联系作者评论交流🤭🤭🤭
风是自由的,你也是自由🤠🤠🤠
欢迎一起交流学习☠️☠️☠️
有帮助请留下足迹 一键三连🥰🥰🥰
爬虫大佬勿喷,欢迎指正问题😈😈😈
后面会做一系列的爬虫文章,请持续关注作者🤡🤡🤡。