pom
<!--HTML的Java库-->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.15.3</version>
</dependency>
<!--Selenium 是一组软件工具集-->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
java代码
public String getAuthorize(Integer id){
String src = null;
try {
String url = "需要获取网页的url";
// 设置 Selenium WebDriver 的路径
String path="";
String os = System.getProperty("os.name");
if(os.toLowerCase().startsWith("win")){
//微软系统
path+="F:\\chromedriver\\chromedriver.exe";
}else{
//Linux系统
path+="/home/chromedriver";
}
File file = new File(path);
// 新建service
ChromeDriverService service =new ChromeDriverService.Builder().usingDriverExecutable(file).usingAnyFreePort().build();
// 开启服务
service.start();
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--headless");
//无头浏览器
chromeOptions.addArguments("--no-sandbox");
//无界面
chromeOptions.addArguments("--disable-gpu");
//编码
chromeOptions.addArguments("lang=zh_CN.UTF-8");
//生成无头浏览器
WebDriver driver = new ChromeDriver(service, chromeOptions);
// 创建 ChromeDriver 实例
// 打开目标页面
driver.get(url);
// 等待页面加载完成
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 使用 Jsoup 解析 HTML
Document doc = Jsoup.parse(driver.getPageSource());
// 获取图片元素(其他也可以)
Elements imgElements = doc.select("img");
// 获取图片 URL get(?) 就是第几张
src = imgElements.get(3).attr("src");
// 关闭 ChromeDriver
ThreadUtil.execute(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(60000);
} catch (InterruptedException e) {
e.printStackTrace();
}
driver.quit();
}
});
return src;
} catch (IOException e) {
e.printStackTrace();
}finally {
}
return "获取图片连接失败!";
}