Selenium启动时额外打开data:空白标签页问题求助
解决Selenium运行时额外打开data:空白标签页的问题
问题原因
- 代码顺序错误:你把
System.setProperty("webdriver.chrome.driver", "chromedriver.exe")放在了new ChromeDriver()之后,初始化驱动时根本没读取到这个配置,反而会导致驱动初始化逻辑异常,保留默认的data:空白页。 - 冗余配置:Selenium 4.x版本自带的Selenium Manager会自动检测、下载并匹配对应版本的ChromeDriver,不需要手动设置
webdriver.chrome.driver属性,手动配置反而可能引发冲突。
解决方案
方案1:移除手动驱动配置(推荐)
直接删除System.setProperty代码,依赖Selenium Manager自动管理驱动,同时保证代码顺序正确:
package Selenium; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Main { public static void main(String[] args) { WebDriver driver = new ChromeDriver(); driver.get("https://www.youtube.com/"); } }
同时简化Maven依赖,因为selenium-java已经包含了selenium-manager,无需单独引入:
<dependencies> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.27.0</version> </dependency> </dependencies>
方案2:手动指定驱动路径(如需特殊版本)
如果必须手动指定驱动文件路径,一定要把System.setProperty放在初始化ChromeDriver之前:
package Selenium; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Main { public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("https://www.youtube.com/"); } }
内容的提问来源于stack exchange,提问作者Radu Alexandru
相关产品推荐
相关产品推荐

