Selenium在Windows7上的系统搭建

selenium介绍

Selenium自动化浏览器。就是这样!你用那种方式做什么完全取决于你自己。首先,它是为了测试目的自动化web应用程序,但肯定不限于此。无聊的基于web的管理任务也可以实现自动化。

Selenium获得了一些最大的浏览器厂商的支持,这些厂商已经采取(或正在采取)步骤使Selenium成为浏览器的原生部分。它也是无数其他浏览器自动化工具、api和框架的核心技术。

资料链接

selenium官方网站 ChromeDriver下载地址 Firefox Driver下载地址

Maven工程

pom.xml配置

<dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <version>3.13.0</version>
</dependency>

Java代码

 public static void main( String[] args )
    {
        WebDriver driver = null;
        
        System.setProperty("webdriver.chrome.driver", "G:/crawler/chromedriver/2.40/chromedriver.exe"); 
        driver = new ChromeDriver();  
                
        //打开登录页面
        driver.get("https://www.ccc.org.cn/jis/front/login.do");
       
        //手动登录
        try {
            Thread.sleep(30000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

Chromedriver与chrome浏览器版本匹配情况

最新进展关注chromedriver官方版本列表

chromedriver版本

支持的Chrome版本

v2.41

v67-69

v2.40

v66-68

v2.39

v66-68

v2.38

v65-67

v2.37

v64-66

v2.36

v63-65

v2.35

v62-64

v2.34

v61-63

v2.33

v60-62

v2.32

v59-61

v2.31

v58-60

v2.30

v58-60

v2.29

v56-58

v2.28

v55-57

v2.27

v54-56

v2.26

v53-55

v2.25

v53-55

v2.24

v52-54

v2.23

v51-53

v2.22

v49-52

v2.21

v46-50

v2.20

v43-48

v2.19

v43-47

v2.18

v43-46

v2.17

v42-43

v2.13

v42-45

v2.15

v40-43

v2.14

v39-42

v2.13

v38-41

v2.12

v36-40

v2.11

v36-40

v2.10

v33-36

v2.9

v31-34

v2.8

v30-33

v2.7

v30-33

v2.6

v29-32

v2.5

v29-32

v2.4

v29-32

Maven的坑(Maven偷梁换柱你的JAR包)

我尝试了很多selenium的版本3.4.0\3.6.0\3.7.1\3.13.0等,对应的chrome浏览器版本也都重新安装,单都是报了一样的错误(下方所示)。在网上查询,都没有得到想要的结果,从新建了一个Maven工程,只引进了selenium依赖,比较纯洁,没有干扰。结果就可以启动chrome浏览器了。反过头去看原来的maven工程,发现selenium依赖的guava Jar包,被其他依赖给神不知鬼不觉的替换了,使用了不同的版本。一直不知道Maven还有这种偷梁换柱的功能,所以千万不要Maven偷换你的JAR包。

Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
    at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:125)
    at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:35)
    at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:156)
    at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:346)
    at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:91)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
    at com.cn.tools.crawler.cnccbm.cnccbm_ChromeDriver.oneCrawler(cnccbm_ChromeDriver.java:96)
    at com.cn.tools.crawler.cnccbm.cnccbm_ChromeDriver.main(cnccbm_ChromeDriver.java:272)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏L宝宝聊IT

存储过程和触发器的应用

16440
来自专栏Linyb极客之路

MySQL 之 SQL 优化实战记录

N个机台将业务数据发送至服务器,服务器程序将数据入库至MySQL数据库。服务器中的javaweb程序将数据展示到网页上供用户查看。

14410
来自专栏简书专栏

Python爬虫实战示例-51job和豆瓣电影

命令:conda create -n {} python={}第一对大括号替换为环境的命名,第二对大括号替换为python的版本号 例如:conda crea...

23220
来自专栏哲学驱动设计

MIS性能优化常见问题与方案(辅助项目组性能优化的总结贴)

最近帮忙公司的几个项目组进行了不同方面的性能优化,发现几个项目都出现了一些共性的问题。这里写一篇文章,总结一下这几类问题,以及其对应的解决方案。方便其它项目组参...

23860
来自专栏Jackson0714

【T-SQL进阶】02.理解SQL查询的底层原理

15520
来自专栏Jackson0714

【T-SQL性能优化】01.TempDB的使用和性能问题

388130
来自专栏Laoqi's Linux运维专列

MySQL性能调优 – 你必须了解的15个重要变量

2.6K20
来自专栏L宝宝聊IT

MySQL架构组成、逻辑模块组成

Mysql逻辑结构可以看成是二层架构,第一层通常叫做SQL Layer,在mysql数据库系统处理底层数据之前的所有工作都在这一层完成的,包括权...

10730
来自专栏DHUtoBUAA

Python读取SQLite文件数据

  近日在做项目时,意外听说有一种SQLite的数据库,相比自己之前使用的SQL Service甚是轻便,在对数据完整性、并发性要求不高的场景下可以尝试!   ...

69090
来自专栏张戈的专栏

实现WordPress提交评论的时删除该页面的WP-Super-Cache缓存的方法

这篇文章依然是围绕缓存问题展开的,lnmp 环境下的 WordPress 使用 WP-Super-Cache 插件,若要开启 mod_rewrite 缓存模式,...

365120

扫码关注云+社区

领取腾讯云代金券