使用Eclipse Luna配置Selenium遇两类异常问题求助
问题解决指南
1. 解决 java.lang.IllegalStateException(chromedriver路径异常)
- 修正路径格式:将路径改为Java兼容的格式,推荐使用单斜杠或双反斜杠:
System.setProperty("webdriver.chrome.driver", "C:/Program Files/chromedriver/chromedriver.exe"); // 或者 System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\chromedriver\\chromedriver.exe"); - 匹配chromedriver与Chrome版本:过时的Selenium版本(如适配Eclipse Luna的旧版Selenium)需要对应版本的chromedriver。比如Selenium 3.x需搭配Chrome 70-114区间的chromedriver,版本不匹配会导致路径识别失败。
- 确认文件存在性:手动检查
C:\Program Files\chromedriver目录下是否存在chromedriver.exe,文件名需完全一致(Windows不区分大小写,但尽量保持统一)。 - 消除变量遮蔽+补全URL协议:代码中静态
driver变量被局部变量遮蔽,同时driver.get的URL缺少协议头,修改后代码如下:public static WebDriver driver; public static void main(String[] args) throws JSONException{ System.setProperty("webdriver.chrome.driver", "C:/Program Files/chromedriver/chromedriver.exe"); driver = new ChromeDriver(); // 不再重新声明局部变量 driver.get("https://www.google.com"); // 补充https协议头 }
2. 解决 java.lang.NoClassDefFoundError: org/apache/http/HttpEntity
- 该异常是因为旧版Selenium依赖Apache HttpComponents库,你仅导入了Selenium核心JAR,缺少相关依赖包。需补充导入以下JAR(版本需与你的Selenium版本匹配):
- httpclient-x.x.x.jar
- httpcore-x.x.x.jar
- httpmime-x.x.x.jar
- commons-logging-x.x.jar
- commons-codec-x.x.jar
- 添加到Build Path:右键项目 →
Build Path→Add External Archives,选择上述JAR文件;再进入Configure Build Path确认所有JAR均在Libraries列表中,无红叉标记。
内容的提问来源于stack exchange,提问作者Jon Jon Micallef
相关产品推荐
相关产品推荐

