Linux 下使用 Java PhantomJS 和 Selenium 进行网页截图
所属分类 java
浏览量 62
Linux 下使用 Java PhantomJS 和 Selenium 进行网页截图
安装PhantomJS
从PhantomJS官方网站下载对应Linux版本的PhantomJS,并将其路径添加到系统环境变量中
Java项目中引入Selenium库
commons-io
commons-io
2.8.0
org.seleniumhq.selenium
selenium-java
3.10.0
com.codeborne
phantomjsdriver
1.4.4
然后设置PhantomJS路径
System.setProperty("phantomjs.binary.path", "/path/to/phantomjs");
编写截图代码
使用Selenium和PhantomJS创建无头浏览器实例,并访问目标URL进行截图
打开指定的URL并保存截图到本地文件系统
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.phantomjs.PhantomJSDriver;
import org.openqa.selenium.phantomjs.PhantomJSDriverService;
import java.io.File;
public class WebScreenshot {
public static void main(String[] args) throws Exception {
String phantomjsPath = "/PATH/phantomjs/bin/phantomjs";
System.setProperty("phantomjs.binary.path", phantomjsPath);
// PhantomJSDriverService service = PhantomJSDriverService.createDefaultService();
// service.setPhantomJSBinaryPath("/path/to/phantomjs");
WebDriver driver = new PhantomJSDriver();
driver.get("http://codefun007.xyz/");
File srcFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
String destFile = "/PATH/DEST/myweb.png";
FileUtils.copyFile(srcFile, new File(destFile));
System.out.println(srcFile.getAbsolutePath());
driver.quit();
}
}
selenium-java phantomjsdriver 版本不匹配 会报错
Exception in thread "main" java.lang.NoSuchMethodError: org.openqa.selenium.remote.DesiredCapabilities.phantomjs()Lorg/openqa/selenium/remote/DesiredCapabilities;
at org.openqa.selenium.phantomjs.PhantomJSDriver.(PhantomJSDriver.java:95)
at WebScreenshot.main(WebScreenshot.java:19)
https://gitee.com/dyyx/work2024/tree/master/demo/seleniumdemo
上一篇
下一篇
《金融怪杰》读书笔记
《市场真相》读书笔记
Java通过URL获取页面快照
java Selenium Chrome ChromeDriver 访问指定网页并截屏
springboot Selenium Chrome ChromeDriver 实现网页截屏
Quartz 2.3.2 使用