Java selenium实现浏览器ctrl + s功能
1.chromedirver驱动下载:https://link.zhihu.com/?target=https%3A//storage.googleapis.com/chrome-for-testing-public/137.0.7151.104/mac-arm64/chromedriver-mac-arm64.zip
红色字体部分换成chrome浏览器的版本即可。
备用地址2:https://googlechromelabs.github.io/chrome-for-testing/
2.pom.xml文件
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.27.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>4.27.0</version>
</dependency>
3.代码示例
public void load(String url, String pageName) throws IOException {
// 设置 EdgeOptions (或 ChromeOptions)
ChromeOptions options = new ChromeOptions(); //或 ChromeOptions
// 初始化 EdgeDriver (或 ChromeDriver)
System.setProperty("webdriver.chrome.driver", "你的chromedriver文件路径");
WebDriver driver = new ChromeDriver(options); //或 WebDriver driver = new ChromeDriver(options);
try {
// 访问网页
driver.get(url);
// 等待网页加载完成 (可以根据实际情况调整等待时间)
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10)); //Java 8+
wait.until(ExpectedConditions.presenceOfElementLocated(By.tagName("body")));
String html = driver.getPageSource();
FileWriter fileWriter = new FileWriter(pageName);
BufferedWriter writer = new BufferedWriter(fileWriter);
writer.write(html);
writer.flush();
writer.close();
Thread.sleep(3000);
} catch (Exception e) {
System.err.println("An error occurred: " + e.getMessage());
e.printStackTrace();
} finally {
driver.quit(); //关闭浏览器
}
}

浙公网安备 33010602011771号