当前位置: 首页 > 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.lryc.cn/news/615169.html

相关文章:

  • Nginx 性能优化与动态内容处理
  • TOMCAT笔记
  • 七、《Serverless架构:按毫秒计费的成本革命》--从新浪AI推理平台50%效能提升看无服务器本质
  • 前端如何安全存储 API 密钥 —— 两种实用方案
  • CosyVoice 语音合成模型性能优化实战:从 CPU 瓶颈到 GPU 加速的完整解决方案
  • electron多进程设计
  • K8s-pod控制器
  • Baumer高防护相机如何通过YoloV8深度学习模型实现输电线路塔电缆检测分割(C#代码UI界面版)
  • DAY 37 作业(补)
  • 99-基于Python的京东手机数据分析及预测系统
  • 【工具变量】全国省级农业保险保费收入与赔付支出数据更新(2001-2023年)
  • 爬虫攻防战:反爬与反反爬全解析
  • react-window
  • 【Datawhale AI夏令营】基于多模态RAG的企业财报问答系统
  • Arduino系列教程:点亮一个LED灯
  • 【工具】Python多环境管理
  • Red Hat Enterprise Linux 7.9安装Oracle 11.2.0.4单实例数据库-图文详解
  • Python训练营打卡Day27-类的定义和方法
  • 线程池多反应堆服务器webserver(c++)
  • 算法篇----模拟
  • Linux的软件防火墙iptables
  • QML 鼠标穿透
  • 从免费到盈利:Coze智能体1小时封装变现全流程指南——井云科技
  • 云服务器--阿里云OSS(2)【Springboot使用阿里云OSS】
  • 81 keil仿真调试记录
  • C++11中的移动语义
  • 优化器:SGD、Adam、RMSprop等优化算法对比与机器翻译应用
  • day 16 stm32 IIC
  • 【Java EE初阶 --- 网络原理】JVM
  • 堆----3.数据流的中位数