在运行测试代码,对浏览器进行自动化操作时,遇到了以下问题,添加依赖,编写了测试代码,但是程序无法运行
这个有两种原因(我使用的是谷歌浏览器):
-
网络问题: 因为需要从GitHub上下载对应包,所以有时候可能会出现网络问题,这个时候可以打开VPN之后,重新对程序进行启动
-
浏览器版本过高,导致webdrivermanager中没有对应版本的驱动,此时可以改用 5.9.2及以上的版本重新尝试
如果以上方法都无法解决问题,就需要手动下载对应驱动 chrome依赖
因为原网站的问题,这个网址需要使用VPN来下载
或者从我的网盘下载:
链接: https://pan.baidu.com/s/13U2wgxHGhm7gL3quE_OaVQ?pwd=729b 提取码: 729b
但是记得查看自己的版本是否跟我一样
下载之后放入本地路径(要保证你能找到),路径中最好不要出现特殊字符(我直接将他放进了我的maven文件中)
然后更新代码
原代码:
java">public static void main(String[] args) throws InterruptedException {//驱动程序自动化WebDriverManager.chromedriver().setup();ChromeOptions options = new ChromeOptions();//允许访问所有连接options.addArguments("--remote-allow-origins=*");//设置完基础设置之后,就开始进行操作//1.打开对应的浏览器(首先要创建一个驱动对象)WebDriver webDriver = new ChromeDriver(options);Thread.sleep(5000);//2.输入对应网址,这里访问百度webDriver.get("https://www.baidu.com");Thread.sleep(5000);//3.找到输入框并进行搜索操作webDriver.findElement(By.xpath("//*[@id=\"kw\"]")).sendKeys("CSDN");Thread.sleep(5000);//4.找到搜索按钮webDriver.findElement(By.xpath("//*[@id=\"su\"]")).click();Thread.sleep(5000);//5.关闭浏览器webDriver.close();
}
新代码:
java">public static void main(String[] args) throws InterruptedException {//驱动程序自动化// 设置本地 ChromeDriver 路径System.setProperty("webdriver.chrome.driver", "设置本地 ChromeDriver 路径");ChromeOptions options = new ChromeOptions();//允许访问所有连接options.addArguments("--remote-allow-origins=*");//设置完基础设置之后,就开始进行操作//1.打开对应的浏览器(首先要创建一个驱动对象)WebDriver webDriver = new ChromeDriver(options);Thread.sleep(5000);//2.输入对应网址,这里访问百度webDriver.get("https://www.baidu.com");Thread.sleep(5000);//3.找到输入框并进行搜索操作webDriver.findElement(By.xpath("//*[@id=\"kw\"]")).sendKeys("CSDN");Thread.sleep(5000);//4.找到搜索按钮webDriver.findElement(By.xpath("//*[@id=\"su\"]")).click();Thread.sleep(5000);//5.关闭浏览器webDriver.close();
}
修改部分:
java">//原代码
//驱动程序自动化WebDriverManager.chromedriver().setup();//更新
// 设置本地 ChromeDriver 路径System.setProperty("webdriver.chrome.driver", "设置本地 ChromeDriver 路径");
运行成功: