当前位置: 首页 > news >正文

快速使用selenium+java案例

maven配置Antlr4插件案例Demo

前置ChromeDriver准备

ChromeDriver地址使用

ChromeDriver官方地址:https://googlechromelabs.github.io/chrome-for-testing/

示范官方下载地址:

https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.66/linux64/chrome-linux64.zip

但是你若是直接用java api去请求可能会报连接不上的问题,我们这里选择使用国内镜像:

# 淘宝
https://registry.npmmirror.com/binary.html?path=chromedriver/# 华为
https://mirrors.huaweicloud.com/chromedriver/# 腾讯(无chrome driver)
https://mirrors.cloud.tencent.com/chromedriver/

我们这里使用华为云的:

https://mirrors.huaweicloud.com/chromedriver/138.0.7204.183/chromedriver-mac-arm64.zip

快速下载ChromeDriver & 设置可执行权限 & 环境变量

引入pom.xml依赖

这里我们引入hutool & selenium相关的依赖包:

<dependencies><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.35</version></dependency><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>4.25.0</version></dependency><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-chrome-driver</artifactId><version>4.25.0</version></dependency><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-api</artifactId><version>4.25.0</version></dependency><!--  支持 触摸屏操作 的接口      --><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-remote-driver</artifactId><version>4.25.0</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-compress</artifactId><version>1.21</version> <!-- 或更高版本 --></dependency>
</dependencies>

工具类封装(HutoolUtil、ChromeDriverUtil)

image-20250809013453564

HutoolUtil.java(封装下载 & 解压功能)
package com.changlu.autosyncblog.util;import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.extra.compress.CompressUtil;
import cn.hutool.extra.compress.extractor.Extractor;
import cn.hutool.http.HttpRequest;/*** Hutool工具类,提供文件下载和解压缩功能* 该类使用Hutool库实现文件下载和解压缩操作。*/
public class HutoolUtil {/*** 下载文件到指定路径* @param fileUrl 文件的URL地址* @param downloadPath 下载后的文件保存路径*/public static void download(String fileUrl, String downloadPath) {HttpRequest.get(fileUrl).setFollowRedirects(true).header("User-Agent", "Mozilla/5.0").timeout(30_000).execute().writeBody(FileUtil.file(downloadPath));}/*** 解压缩文件到指定路径* @param downloadPath 下载的压缩文件路径* @param extractPath 解压后的文件保存路径*/public static void extract(String downloadPath, String extractPath) {Extractor extractor = CompressUtil.createExtractor(CharsetUtil.defaultCharset(),FileUtil.file(downloadPath));extractor.extract(FileUtil.file(extractPath));}}
http://www.dtcms.com/a/322292.html

相关文章:

  • 系统开发 Day1
  • PyLS简介
  • NumPy性能飞跃秘籍:向量化计算如何提升400倍运算效率?
  • 【C++详解】AVL树深度剖析与模拟实现(单旋、双旋、平衡因⼦更新、平衡检测)
  • 云服务器--阿里云OSS(2)【Springboot使用阿里云OSS】
  • Datawhale AI夏令营-记录2
  • Kotlin初体验
  • 【linux基础】Linux 文本处理核心命令指南
  • 代码随想录day59图论9
  • NY151NY152美光固态闪存NY153NY154
  • 利用whisper api实现若无字幕则自动下载音频并用 whisper 转写,再用 LLM 总结。
  • JVM相关(AI回答)
  • 等保测评-RabbitMQ中间件
  • 【Java EE初阶 --- 网络原理】JVM
  • 从零玩转Linux云主机:免费申请、连接终端、命令速查表
  • 分析报告:基于字节连续匹配技术的KV缓存共享实施可能性及其扩展
  • ✨ 基于 JsonSerialize 实现接口返回数据的智能枚举转换(优雅告别前端硬编码!)
  • 【Linux】Socket编程——UDP版
  • (nice!!!)(LeetCode 面试经典 150 题) 146. LRU 缓存 (哈希表+双向链表)
  • Go语言实战案例:文件上传服务
  • 香橙派 RK3588 部署千问大模型 Qwen2-VL-2B 推理视频
  • 在Docker中下载RabbitMQ(详细讲解参数)
  • BGP 笔记
  • C语言gdb调试
  • 母线电压采样芯片的四大类——汽车级选型对比表
  • 101和201复制卡技术难点与解决方案
  • Express中间件和路由及响应方法
  • 软件定义车辆加速推进汽车电子技术
  • Python如何将图片转换为PDF格式
  • 2025最新高频前端面试题解析(含Vue/React/JS核心考点)