【发布时间】:2018-11-25 23:41:50
【问题描述】:
这个问题有两个部分-
- 当 chrome 浏览器已经打开并且我触发我的 selenium-java 测试用例以针对 chrome 运行时,它不会打开新的 chrome 会话。
- 它使用已打开的现有 chrome 并开始打开新选项卡,但仍无法正常工作。
我的驱动初始化如下:
System.setProperty("webdriver.chrome.driver", ConfigUtils.getCurrentDirectory()+ Chromefile.getPath());
ChromeOptions options = new ChromeOptions();
//options.addArguments("--headless");
options.addArguments("--no-sandbox");
options.addArguments("start-maximized");
options.addArguments("disable-infobars");
options.addArguments("disable-extensions");
options.setExperimentalOption("useAutomationExtension", false)
driver = new ChromeDriver(options);
我已经尝试了 Stack Overflow 上建议的几件事 -
-
有人描述这是一个问题,因为
chromedriver无法启动另一个 chrome 实例 - 默认配置文件。所以我在上面的代码中添加了以下行-String profile1 = "C:\\Users\\user_id\\Documents\\ChromeProfile1\\"; options.addArguments("user-data-dir="+profile1);
这样做是为了让chromedriver 可以启动一个新的 chrome 配置文件。它确实打开了一个新的 chrome 窗口,但没有导航到 URL。
根据chromedriver的官方文档——
默认情况下,ChromeDriver 将为每个 会话。
而且我以前从来没有这样做过。我不确定为什么这不起作用,我还能做什么?
我正在使用 -
Selenium-java version 3.141.1 ChromeDriver version 2.38 Chrome version 70 Windows 10
请注意- 我上面提到的 chrome 和 chromedriver 版本是兼容的,并且在 chrome 尚未运行时工作正常此外,当 chrome 窗口已经打开时,我可以在无头模式下运行相同的测试。
如果您需要更多信息,请告诉我。我得到的错误如下 -
启动 ChromeDriver 2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb) 在端口 18020 上仅限本地 允许连接。 org.openqa.selenium.WebDriverException: 未知错误:Chrome 无法启动:崩溃(驱动程序信息: 铬驱动程序=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),平台=Windows NT 10.0.17134 x86_64)(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:61.87 秒构建信息: 版本:'3.141.5',修订:'d54ebd709a',时间: '2018-11-06T11:42:16' 系统信息:主机:'XXXX',ip:'XXXX',os.name: 'Windows 10',os.arch:'x86',os.version:'10.0',java.version: '1.8.0_162' 驱动信息:driver.version: ChromeDriver
【问题讨论】:
标签: selenium google-chrome selenium-webdriver selenium-chromedriver