![](/img/trans.png)
[英]Selenium->Java->Eclipse: can not be resolved to a type error
[英]chrome Webdriver can't be resolved to a type error eclipse and java
我试图用 chrome、java 和 selenium 做一些自动化项目,但在导入 chrome 驱动程序时遇到问题。
package main;
import org.openqa.selenium.*;
public class SitePoster {
public static void main(String[] args) {
//System.setProperty("webdriver.chrome.driver", "./pathtodriver");
WebDriver driver = new ChromeDriver();
//Getting error saying "ChromeDriver can't be resolved to a type"
}
}
chrome Webdriver 无法解析为类型错误 eclipse 和 java:-
我在 macOs 上遇到了与 selenium -java 3.141.59 相同的问题。检查以下步骤来解决问题:-
希望你的问题得到解决。 如有任何问题,请回复。
即使在安装了所需的 jar 文件后,我也遇到了相同的错误消息,然后我将 Java 编译器中的编译器合规性级别更新为 1.8(依赖),然后错误消失了。 它解决了我的问题。
您可以按照以下步骤操作:
选择Java项目(创建一个)
构建路径
配置构建路径
Java编译器
更改编译器合规性级别(我选择了 1.8)
应用并关闭。
我的解决方案是 POM 指定了旧版本的 ChromeDriverManager,这是在我的构建中获取 chromeDriver 的方式。 如果您使用 setProperty 指定位置,这当然不适用于您。 但它有助于检查 POM 中依赖项的版本
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>3.6.1</version>
<scope>test</scope>
</dependency>
做到了!
将 Selenium Jar 文件添加到 ClassPath 而不是 ModulePath
ChromeDriver 是嵌套在 org.openqa.selenium 包中的一个额外级别。 尝试导入语句
org.openqa.selenium.chrome.*;
或
导入 org.openqa.selenium.chrome.ChromeDriver;
错误说明了一切:
"ChromeDriver can't be resolved to a type"
在使用Selenium 3.x 时,您必须通过System.setProperty()
行强制提及键值对,如下所示:
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
此外,根据最佳实践而不是import org.openqa.selenium.*;
您必须提及要导入的各个包,如下所示:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
我得到了完全相同的错误。 执行以下步骤后,它确实为我解决了。
首先从“libs”文件夹添加外部 Jars,然后添加“客户端组件”。
import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class test1 { public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\\\\Users\\\\nsukumar\\\\Documents\\\\selenium\\\\chromedriver_win32\\\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("https://google.co.in"); } }
尝试在ModulePath
和Classpath
编辑外部 jar。
见图片链接-->
您需要附加 jar 文件。 我遇到了完全相同的问题。 您需要安装“Selenium 3.4.0”jar 文件。 其中包含 .jar 文件和“client-combined-3.4.0-nodeps”文件的 lib 文件夹。 附加这些 jar 文件后,通过给出运行命令刷新代码。
从构建路径添加 Selenium jar 文件 > 添加外部库为我解决了这个问题。
对于 Linux 用户,请使用以下命令前往终端检查谷歌版本
谷歌浏览器 --version
操作:-谷歌浏览器 69.0.3497.100
现在,使用以下命令升级 chrome
sudo apt --only-upgrade 安装 google-chrome-stable
在此之后使用上述相同的命令检查谷歌浏览器版本
谷歌浏览器 --version
操作:-谷歌浏览器 78.0.3904.87
现在您需要下载相同版本的谷歌驱动程序。 你可以从下面的链接找到它。
https://chromedriver.storage.googleapis.com/index.html?path=78.0.3904.70/
下载谷歌驱动程序并解压并保存路径并在代码中使用,现在运行代码。
如果您无法添加此语句
import org.openqa.selenium.chrome.ChromeDriver;
可能的原因是您使用的是maven而您没有包含以下内容
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-chrome-driver -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>3.141.59</version>
</dependency>
即使我们把下面的语句,问题仍然存在
System.setProperty("webdriver.chrome.driver", "C:\\Software\\chromedriver_win32\\chromedriver.exe");
所以解决方案是转到 maven 存储库站点并从那里获取 chrome 依赖来解决这个问题
当您在 ModulePath 中添加外部 jars 时会发生这种类型的错误。 要解决此问题,您可以从节点“Modulepath”中删除外部 jar。 选择节点“类路径”,然后添加外部 jar。 查看所有 jars 都在节点“Classpath”下
添加外部 jar 时,请确保先将 jar 添加到 lib 文件夹中,然后再将其添加到主 selenium-java 文件夹中。 这让我与众不同。
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class testdemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.setProperty("webdriver.chrome.driver","C:\\Users\\victo\\OneDrive\\Documents\\driverchrome\\ChromeDriver.exe");
WebDriver driver=new ChromeDriver();
driver.get(" https:google.com");
我在使用最新的 Eclipse 2021-03 和 Selenium 3 时遇到了这个错误
要解决此问题,请在类路径而不是模块路径中添加您的 Selenium 独立 jar 文件。 也不要忘记删除模块路径中现有的 Jar 文件,应用然后应用并关闭。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.