首页 > 编程语言 >【Selenium+java环境配置】(超详细教程常见问题解决)

【Selenium+java环境配置】(超详细教程常见问题解决)

时间:2024-06-08 16:58:05浏览次数:23  
标签:ChromeDriver 常见问题 浏览器 chrome Selenium chromedriver exe 驱动 java

Selenium+java环境配置

windows电脑环境搭建-chrome浏览器

1. 下载chrome浏览器

https://www.google.cn/intl/zh-CN/chrome/
在这里插入图片描述

2. 查看chrome浏览器版本

在这里插入图片描述
在这里插入图片描述

3. 下载chrome浏览器驱动

https://chromedriver.chromium.org/downloads
http://chromedriver.storage.googleapis.com/index.html
在这里插入图片描述
在这里插入图片描述

4.配置系统环境变量PATH

解压下载好的驱动压缩包,将下载好的chromedriver.exe放到chrome浏览器安装路径下。找idea jdk当初放的文件下,把这个文件放在该目录下
在这里插入图片描述
在这里插入图片描述

验证环境是否搭建成功

1. 创建java项目,添加pom文件中添加依赖

<dependencies>
    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.141.59</version>
    </dependency>
</dependencies>

2. 编写代码运行

import org.openqa.selenium.chrome.ChromeDriver;

public class Main {
    public static void main(String[] args) {
        WebDriver webDriver = new ChromeDriver();
        webDriver.get("https://www.baidu.com");
    }
}

如果打开了浏览器,此时说明安装成功
在这里插入图片描述

常见问题&解决办法

1.访问失败

在这里插入图片描述
解决办法(二选一即可):
1)找到驱动所在路径,复制路径并添加系统环境变量
2)创建驱动对象之前手动指定chromedriver.exe所在路径:System.setProperty(“webdriver.chrome.driver”,“C:\Program Files\Java\jdk1.8.0_192\chromedriver.exe”);//根据自己的安装路径而变
位置:
在这里插入图片描述
SessionNotCreatedException
解决办法:
前提:请先确认您下载的谷歌浏览器不是盗版。请确认你的chrome浏览器是否默认安装在C盘
驱动实例化中使用绝对路径:
ChromeDriver driver = new ChromeDriver("E:/browser/Google/Chrome/Application/chrome.exe);
//注意:自己的Chrome.exe所在路径

The version of ChromeDriver only support xxxxxxxxx

在这里插入图片描述

原因:浏览器版本和驱动版本不匹配,重新在官网下载对应版本的驱动
下载地址:https://chromedriver.chromium.org/downloads

3.The path to the driver executable the path to

在这里插入图片描述

原因:浏览器驱动没有放到系统环境变量下
解决办法(二选一即可):
1)找到驱动所在路径,复制路径并添加系统环境变量
2)创建驱动对象之前手动指定chromedriver.exe所在路径:System.setProperty(“webdriver.chrome.driver”,“C:\Program Files\Java\jdk1.8.0_192\chromedriver.exe”);//根据自己的安装路径而定

4、ConnectionFailedException/403

在这里插入图片描述

解决办法:
ChromeOptions options = new ChromeOptions();
options.addArguments(“–remote-allow-origins=*”);
WebDriver driver = new ChromeDriver(options);

标签:ChromeDriver,常见问题,浏览器,chrome,Selenium,chromedriver,exe,驱动,java
From: https://blog.csdn.net/m0_64670207/article/details/139509699

相关文章

  • Java---异常【详细】
     1.异常的简介1.编译错误:基本语法错误,编译器进行语法检查,如果没有通过,程序违背了计算机编程语言的语法。2.运行错误:程序可以执行,在执行过程中发生异常,导致程序提前退出,没有得到预计的执行效果。3.逻辑错误:程序可能执行,结果不对。4.异常体系,保证程序的健壮性。2.java异......
  • 宝塔搭建javaweb_宝塔工具+javaweb+mysql+tomcat部署项目
    1.首先我们得有一个安装了宝塔工具的云服务器首先我们要在服务器安全组开放宝塔常用的端口,看你是什么服务器,然后对应下面官网的教程就行了。腾讯云:https://www.bt.cn/bbs/thread-1229-1-1.html阿里云:https://www.bt.cn/bbs/thread-2897-1-1.html华为云:https://www.bt.cn/bbs/t......
  • 宝塔搭建javaweb_宝塔工具+javaweb+mysql+tomcat部署项目
    1.首先我们得有一个安装了宝塔工具的云服务器首先我们要在服务器安全组开放宝塔常用的端口,看你是什么服务器,然后对应下面官网的教程就行了。腾讯云:https://www.bt.cn/bbs/thread-1229-1-1.html阿里云:https://www.bt.cn/bbs/thread-2897-1-1.html华为云:https://www.bt.cn/bbs/t......
  • Java——数组排序
     一、排序介绍1、排序的概念排序是将多个数据按照指定的顺序进行排列的过程。2、排序的种类排序可以分为两大类:内部排序和外部排序。3、内部排序和外部排序1)内部排序内部排序是指数据在内存中进行排序,适用于数据量较小的情况。数据可以完全装入内存。常见的内部排序算......
  • Java 集合
    ListArrayList和LinkedList有什么区别?数据结构不同,ArrayList基于数组实现,LinkedList基于双向链表实现使用场景不同,ArrayList用于查多写少的场景,LinkedList多用于写多查少的场景查询:ArrayList支持随机访问,可以通过下标直接获取元素,时间复杂度是O(1)LinkedList需要遍历链表......
  • 【计算机毕业设计】springboot287基于javaEE的校园二手书交易平台的设计与实现
    信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容......
  • java面试题及答案2024,java2024最新面试题及答案(之一)
    发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~本套Java面试题大全,全的不能再全,哈哈~一、Java基础1.JDK和JRE有什么区别?JDK:JavaDevelopmentKit的简称,java开发工具包,提供了java的开发环境和运行环境。JR......
  • java面试题及答案2024,java2024最新面试题及答案(之二)
    四、反射57.什么是反射?反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力Java反射:在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法Java反射机制主要提供了以下功能:在运行时判断任意一个对象所......
  • Java——数组
    一、数组介绍数组是Java中的一种数据结构,用于存储一组相同类型的元素。它们在内存中是连续存储的,并且通过索引来访问元素。以下是关于Java数组的详细介绍:1、数组的创建和初始化在Java中,数组是一种对象,它可以存储固定大小的同类型元素。数组的大小在创建时确定,并且一旦创建就......
  • Java 实验8 集合类
    (一)实验目的1、掌握JAVA集合类中的Collection的特点及其应用情形;3、掌握Collection、熟悉集合的特点及应用。(二)实验内容和步骤1、仿照课堂练习的MyStack示例,使用LinkedList集合类实现一个先进先出的队列数据结构,可以往该结构中压入数据push()以及弹出数据pop(),并遵循先进入......