首页  

java Selenium Chrome ChromeDriver 访问指定网页并截屏     所属分类 java 浏览量 47
org.seleniumhq.selenium:selenium-java:3.141.0

ChromeDriver 是一个用于自动化控制 Google Chrome 浏览器的工具,
它实现了 WebDriver 协议,允许开发者通过编程方式模拟用户在浏览器中的操作,如点击、输入文本、导航等。
ChromeDriver 需要与特定版本的 Chrome 浏览器相匹配,以确保能够正常通信和控制浏览器


Chrome 和 ChromeDriver 版本要匹配 

查看 chrome版本 
版本 131.0.6778.70(正式版本) (arm64)

下载对应版本的 ChromeDriver

chromedriver 各版本下载
https://www.cnblogs.com/aiyablog/articles/17948703


chromedriver 版本下载 131版本 



import org.apache.commons.io.FileUtils; import org.openqa.selenium.Cookie; import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import java.io.File; public class WebScreenShot3 { public static void main(String[] args) throws Exception { // 设置 ChromeDriver 的路径 System.setProperty("webdriver.chrome.driver", "/Users/dugang/soft/chromedriver-mac-arm64-131/chromedriver"); // 创建 ChromeOptions 对象 ChromeOptions options = new ChromeOptions(); // 启用 JavaScript(默认情况下是启用的,但明确设置) options.addArguments("--enable-javascript"); // 其他可选的 Chrome 选项 options.addArguments("--headless"); // 无头模式,不显示浏览器窗口 options.addArguments("--disable-gpu"); // 禁用 GPU 加速 options.addArguments("--window-size=1920,1080"); // 设置窗口大小 long start = System.currentTimeMillis(); // 初始化 WebDriver ChromeDriver driver = new ChromeDriver(options); long time = System.currentTimeMillis() - start; System.out.println("ChromeDriver create time:"+ time); String url = "http://codefun007.xyz/"; // bi仪表板 , 访问这个地址 ,会做自动登录 ,比较耗时 ,后续sleep时间不够 截图是白屏 url = "http://bi.xxx.test/xxx/link/r0DzGx8y"; driver.get(url); // 设置 Cookie // Cookie cookie = new Cookie("Authorization", "221b8e835d644f93a30a151afb79c196"); // driver.manage().addCookie(cookie); // driver.navigate().refresh(); // 不sleep 可能会截到 白屏 ,截到白屏 可 延长sleep时间 // Thread.sleep(3000); // waitForDone(driver); System.out.println("currentUrl:" + driver.getCurrentUrl()); System.out.println("title:" + driver.getTitle()); // 网页源码 // System.out.println("pageSource:"+driver.getPageSource()); // 截图 File srcFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); String destFile = "/Users/dugang/tmp/web.png"; FileUtils.copyFile(srcFile, new File(destFile)); System.out.println(srcFile.getAbsolutePath()); driver.quit(); } }
https://gitee.com/dyyx/work2024/blob/master/demo/seleniumdemo/src/main/java/WebScreenShot3.java

上一篇     下一篇
《市场真相》读书笔记

Java通过URL获取页面快照

Linux 下使用 Java PhantomJS 和 Selenium 进行网页截图

springboot Selenium Chrome ChromeDriver 实现网页截屏

Quartz 2.3.2 使用

裸K price action 概述