java - 如何修复无法在 Selenium Java 上访问 Chrome Web 驱动程序的导入?
问题描述
更新:将 JAVA 编译器版本更改为 1.7 已修复此问题,谢谢大家!
显然我还是 Selenium 的新手,我将所有库导入到我的项目中(从 Selenium 官方页面下载)并开始编写代码(基本上遵循https://www.youtube.com/watch?v=_JNeiGbAgL4中的所有步骤)
但是当我输入:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
我知道该类型不可访问。
我当前的代码看起来像这样
package selenium_test_package;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class LAU {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver","/Users/sergio/Downloads/chromedriver");
WebDriver driver = new ChromeDriver;
我在mac os上。
解决方案
=================== 方法#1
从这个参考
步骤 A:下载 Chrome 驱动程序 您需要到以下地址下载适用于 Mac OS 的 chrome 驱动程序。https://i.imgur.com/DOhDh9f.png
步骤 B:将驱动程序移动到 /usr/local/bin 文件夹
您应该将驱动程序移动到系统中定义为路径的路径。您可以使用以下命令检查它们,您将看到/usr/local/bin文件夹被定义为系统上的全局路径。
sudo nano /etc/paths
https://i.imgur.com/ghk9WdB.png
如果需要,可以在此处添加特定路径,并且可以将 chromedriver 移动到此文件夹,但如您所见,/usr/local/bin 文件夹默认定义为路径。
现在,转到您的下载文件夹,找到 chromedriver_mac64.zip 文件并将其解压缩。您将看到 chromedriver 可执行文件。
https://i.imgur.com/x365zag.png
现在,我们可以运行下面的命令并将 chromedriver 文件移动到 /usr/local/bin 文件夹。
mv chromedriver /usr/local/bin
从那 - 请继续您的代码:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class LAU {
public static void main(String[] args) {
WebDriver driver = new ChromeDriver();
.....
=========================方法#2
或者:系统路径设置步骤:
1) 下载 ChromeDriver 可执行文件。
2)现在我们需要告诉 Selenium 它在哪里,为此我们有几个选择。要做到这一点:
2.1 打开终端
2.2 运行 sudo nano /etc/paths
2.3 输入您的密码
2.4 到文件底部,输入你要添加的路径
2.5 路径看起来像:/Users/sergio/Downloads
2.6 Control-x 退出
2.7 Y 保存
2.8 回车确认
3)要仔细检查,退出终端并重新启动它。运行回声 $PATH。您应该在已经存在的其他路径流中看到新添加的路径。
4) 最后,更新您的测试以使用 Chrome 运行并运行您的测试!
运行测试后,如果您的 PATH 设置不正确,您会收到以下有用信息:
Selenium::WebDriver::Error::WebDriverError: Unable to find the chromedriver executable. Please download the server from http://chromedriver.storage.googleapis.com/index.html and place it somewhere on your PATH. More info at http://code.google.com/p/selenium/wiki/ChromeDriver.
希望这可以帮助。此致,
推荐阅读
- pagination - 获取被点击的 ag-grid 页面
- python - 如何使用经过训练和存储的张量流模型进行预测
- angularjs - 带有 ng-repeat 的 md-tab md-on-select 标签内的 HTML 图标
- r - 由于直方图的单个条形图中的值范围,Plotly click 事件不起作用
- python-3.x - Bokeh 中的 CheckboxGroup 绘制加法图
- c# - 如何按键分组列表并转换结果
- c# - 您可以通过绑定从视图模型中设置组合框中的选定项目吗?
- hadoop - 未能将窗口调用分解为组。至少 1 个组必须仅依赖于输入列。还要检查循环依赖
- laravel - 如何在 Laravel 中获取 Auth::User() 数组元素值
- javascript - 我的代码在单击时更改元素的 CSS 是否有效?