Selenium入门(一)Java 搭建 Selenium 环境

2023-10-30

前言

        Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla FirefoxSafariGoogle ChromeOpera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、JavaPerl等不同语言的测试脚本。

        我们一般用selenium爬取网页数据,下面介绍java使用selenium爬取网页所需要安装的环境。以chrome为例。


Windows环境

1、安装chrome浏览器

  • 首先确保电脑上安装了谷歌浏览器;
  • 然后确定谷歌浏览器版本,打开浏览器,点击帮助、关于Google Chrome

  •  查看浏览器版本

 2、下载ChromeDriver.exe

下载地址:https://registry.npmmirror.com/binary.html?path=chromedriver/

根据浏览器版本下载对应版本的ChromeDriver.exe,否则程序运行会报错。

3、将下载的ChromeDriver.exe放到浏览器安装路径

将ChromeDriver.exe放到浏览器安装路径,方便查找。


 Liunx环境 

以centos7为例。

1、安装chrome浏览器

  • 指定yum 源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  • 安装
curl https://intoli.com/install-google-chrome.sh | bash

ldd /opt/google/chrome/chrome | grep "not found"
  • 安装后,执行:当前目录生成一个图片。
google-chrome-stable --no-sandbox --headless --disable-gpu --screenshot https://www.baidu.com/

生成图片:

2、安装chromedriver

  • 查看chrome版本
google-chrome-stable --version

  •  根据chrome版本去上面的chromedriver下载地址找到对应的版本并下载

  •  下载完成后放到linux中,自己指定地址,由于是.zip格式,所以需要unzip解压,解压完成后即可。

Java整合使用

1、maven依赖

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.141.59</version>
</dependency>

或者自己下载jar包:

selenium下载地址:https://selenium.dev/downloads/ 

界面如下,选择java后点击下载。

 2、测试运行

public class TestController {

    public static void main(String[] args){
        System.getProperties().setProperty("webdriver.chrome.driver", "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
        ChromeOptions chromeOptions = new ChromeOptions();
        ChromeDriver chromeDriver = new ChromeDriver(chromeOptions);
        chromeDriver.get("https://www.baidu.com/");
    }
}

至此,整合成功。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Selenium入门(一)Java 搭建 Selenium 环境 的相关文章

随机推荐

  • 图片URL转Base64,Base64转二进制文件流

    现在的项目中对于图片的处理很多 对于图片的URL转Base64或者Base64转文件流很是不好处理 下面我总结了这两种方法互转的代码 希望对你有所帮助 图片URL 转Base64 function getBase64Image img va
  • Python模块Collection——OrderedDict

    OrderedDict 有序字典 OrderedDict是dict的子类 它记住了内容添加的顺序 import collections print Regular dictionary d d a A d b B d c C for k v
  • 用Python实现双目立体匹配SAD算法

    SAD Sum of absolute differences 是一种图像匹配算法 SAD算法的基本流程 1 构造一个小窗口 类似与卷积核 2 用窗口覆盖左边的图像 选择出窗口覆盖区域内的所有像素点 3 同样用窗口覆盖右边的图像并选择出覆盖
  • 基于Matlab的时间序列(Time Series)(附代码)

    时间序列 一 模型介绍 1 1 时间序列的不同分类 1 2 时间序列构成要素 1 3 三种时间序列模型 1 3 1 AR p 模型 1 3 2 MA q 模型 1 3 3 ARMA p q 模型 1 3 4 ARIMA p d q 模型 1
  • Picture 【HDU - 1828】【对于扫描线更新的一些特殊情况】

    题目链接 这个问题 在以前写过博客 但是今朝再来看 属实还存有一些问题未曾解决 举个例子 我们来画一张图 并且给每个边标个序号 如图 我们有4条边 按照之前想的办法 我们进行处理 我们先放进去1这号边 再放入2这号边 实际上 这时候我们已经
  • JAVA使用Jedis操作Redis的基本常用的API。

    package com coderman test import com coderman entities Customer import com coderman entities Department import org junit
  • crafting interpreters 介绍

    crafting interpreters 作者 的博客 crafting interpreters 出生的介绍 英文 crafting interpreters 出生的介绍 中文 crafting interpreters 在线阅读 cr
  • Qt的快捷键汇总

    t的基础知识 感谢大家来看我的分享 一般操作的键盘快捷键 调试相关操作的键盘快捷键 项目相关操作的键盘快捷键 帮助相关操作的键盘快捷键 感谢大家来看我的分享 第一次分享 介绍一下Qt的快捷键 方便大家在工作中速查 一般操作的键盘快捷键 操作
  • 搞懂电路的极点和零点

    在这里 作者将尝试找出关于极点和零点的物理感觉 使用运算放大器来控制它们在复平面中的位置 并利用电路的自然响应来说明极点 零点位置的影响 单端口电路的自然响应 我们来看图1中的无源线性单端口电路 它包括电阻 电容和电感 图1 a 无源单端口
  • touchmove 长按_移动端 javascript 实现长按拖动

    最近我要在移动端实现一个长按拖动功能 发现一个库 https github com bevacqua d 非常好用 用起来也非常简单 下面是一个可以运行的例子 Document box1 height 200px background co
  • 项目 和 api 接口说明文档

    注意 所有api的域名为 http 如果后面文档中 有的域名地址和这里不一样 以这里的为主 获取图文资讯 地址 api getnewlist 作用描述 主要用来获取点击首页上的 新闻资讯 后进入到的图文列表页面的数据 大家在做的时候可以使用
  • Cesium defaultAccessToken 修改

    engine Source Core Ion js中修改 defaultAccessToken 值即可 token申请地址 Cesium ion
  • 如何配置anaconda中环境的路径

    如何配置anaconda中环境的路径 虚拟环境安装在C盘绝对不是一种正确的决定 但是如何指定虚拟环境的路径呢 1 先查阅anaconda文档 发现可以指定路径安装 conda create help 2 安装虚拟环境到指定路径中 conda
  • Jquery鼠标右键插件contextMenu使用方法及自定义图标

    第一步 引入文件 文件在github上下载的 都可以搜到 我是把整个dist文件夹里的全放进项目里了 把这俩文件引进去 position js文件我没有引 暂时不知道这文件干啥用的 js部分 contextMenu selector lis
  • 如何组织项目目录结构——项目目录结构规范

    为什么要规范项目目录结构 首先我们要遵循约定由于配置的原则 通过约定代码结构或者命名规范来减少配置数量 例如 将所有 css后缀的文件放在css文件夹下 将xx js文件压缩后的重新命名为xx min js 那怎么样的目录结构是好的呢 没有
  • 【PTA】 sdut-array2-2-局部峰值

    给定一个N行乘N列的2D数组 逐行扫描该值并打印出所有局部峰值 该值大于其左上 上 右上 左 右 左下 下 右下的值 如果有 N的范围是2到150 输入格式 多组输入 每组输入包含两部分 第一行包含整数N 表示2D数组的大小 后面的N行中的
  • css h5 端弹窗时禁止底部页面滚动

    h5 端页面在弹窗时禁止底部页面滚动 在实现时 我尝试过几种方法 方法一 touchmove stop prevent 在遮罩层中添加 touchmove stop prevent 可以实现禁止页面滚动 如下 div class dialo
  • C++中的几种构造函数

    以下内容主要摘抄博客 浅谈C 中的几种构造函数 林多 CSDN博客 c 构造函数 一 C 中的构造函数可以分为4类 1 默认构造函数 又名缺省构造函数 以Student类为例 默认构造函数的原型为 无参构造函数 Student 没有参数 2
  • 使用element-ui的el-scrollbar时滚动条没有显示出来但是页面可以滚动的解决办法

    如果使用 Element UI 的 el scrollbar 组件时 滚动条没有显示出来但页面可以滚动 可以尝试调用其 update 方法来更新滚动条 在适当的时机 例如在数据加载完成后或组件更新后 调用 el scrollbar 的 up
  • Selenium入门(一)Java 搭建 Selenium 环境

    前言 Selenium是一个用于Web应用程序测试的工具 Selenium测试直接运行在浏览器中 就像真正的用户在操作一样 支持的浏览器包括IE 7 8 9 10 11 Mozilla Firefox Safari Google Chrom