当chrome已经在seleniumjvm中打开时,ChromeDriver崩溃并且不创建会话



这个问题有两个部分-

  1. 当chrome浏览器已经打开,并且我触发seleniumjava测试用例在chrome上运行时,它不会打开新的chrome会话
  2. 它使用了已打开的现有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-的建议

  1. 有人描述这是一个问题,因为chromedriver无法启动chrome默认配置文件的另一个实例。因此,我在上面的代码中添加了以下行-

    String profile1 = "C:\Users\user_id\Documents\ChromeProfile1\";
    options.addArguments("user-data-dir="+profile1);
    

这样做是为了让chromedriver能够推出新的铬型材。它确实打开了一个新的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端口18020上的(437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb(仅本地允许连接。org.openqa.selenium.WebDriverException:未知错误:Chrome无法启动:崩溃(驱动程序信息:镀铬器=2.38.552522(437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb(,平台=Windows NT10.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"驱动程序信息:驱动程序版本:ChromeDriver

ChromeDriver 2.38仅支持Chrome 65到67。请参阅上的发布说明https://chromedriver.storage.googleapis.com/2.38/notes.txt.在某些情况下,它可能碰巧与其他版本的Chrome配合使用,但不支持这样的使用。建议将ChromeDriver 2.44与Chrome 70配合使用。

我看不出你发布的代码有任何问题。希望您在下载新的ChromeDriver后能够获得更好的结果。

最新更新