Selenium Java启动Chrome Beta遇SessionNotCreatedException(响应码500)
解决Chrome Beta下Selenium Java脚本无法启动浏览器的问题
核心问题分析
- 错误的浏览器二进制文件路径:你指定的
ChromeSetup.exe是Chrome的安装程序,并非Beta版本浏览器的可执行文件,导致启动后直接崩溃。 - 代码执行顺序混乱:
WebDriverManager.chromedriver().setup()需在初始化ChromeDriver前调用,且手动设置System.setProperty与WebDriverManager混用会引发驱动版本冲突。 - 路径转义错误:Java中Windows路径的反斜杠需用双反斜杠(
\\)或正斜杠(/),单反斜杠会被解析为转义字符,导致路径无效。 - 缺少必要启动参数:
DevToolsActivePort file doesn't exist错误需通过添加调试端口、禁用沙箱等参数解决。
修正步骤
获取Chrome Beta的正确可执行路径
Windows系统下Chrome Beta默认路径为:C:\Program Files\Google\Chrome Beta\Application\chrome.exe,若自定义安装,可右键Chrome Beta快捷方式→属性→目标,复制实际路径。调整代码逻辑,移除冲突配置
使用WebDriverManager时无需手动设置System.setProperty,它会自动下载匹配版本的chromedriver。添加启动参数解决端口问题
添加--remote-debugging-port=9222、--no-sandbox等参数,规避DevToolsActivePort异常。修正路径转义格式
修正后的完整代码
import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.support.ui.WebDriverWait; import java.time.Duration; import io.github.bonigarcia.wdm.WebDriverManager; public class Practice_First { public static void main(String[] args) { ChromeOptions optionsBeta = new ChromeOptions(); // 设置Chrome Beta正确的可执行文件路径(双反斜杠转义) optionsBeta.setBinary("C:\\Program Files\\Google\\Chrome Beta\\Application\\chrome.exe"); // 添加必要启动参数 optionsBeta.addArguments("--remote-debugging-port=9222"); optionsBeta.addArguments("--no-sandbox"); optionsBeta.addArguments("--disable-dev-shm-usage"); // 用WebDriverManager自动管理chromedriver版本 WebDriverManager.chromedriver().setup(); WebDriver driver = new ChromeDriver(optionsBeta); WebDriverWait waits = new WebDriverWait(driver, Duration.ofSeconds(10)); // 测试示例:打开网页 driver.get("https://www.google.com"); // 测试完成后关闭浏览器 // driver.quit(); } }
额外注意事项
- 确保Chrome Beta版本与chromedriver版本匹配,WebDriverManager会自动处理版本对应,无需手动指定(特殊需求除外)。
- 若仍报错,检查后台是否有残留Chrome进程,关闭后重新运行脚本。
内容的提问来源于stack exchange,提问作者Zamir Sultan
相关产品推荐
相关产品推荐

