此问题有两个部分-
我的驱动程序初始化如下:
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);
我尝试了一些有关堆栈溢出的建议-
有人形容这是一个问题,因为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 端口18020上的(437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb)仅本地 允许连接。 org.openqa.selenium.WebDriverException: 未知错误:Chrome无法启动:崩溃(驱动器信息: chromedriver = 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',操作系统名称: 'Windows 10',os.arch:'x86',os.version:'10 .0',java.version: '1.8.0_162'驱动程序信息:driver.version:ChromeDriver
答案 0 :(得分:2)
ChromeDriver 2.38仅支持Chrome 65至67。请参阅https://chromedriver.storage.googleapis.com/2.38/notes.txt上的发行说明。在某些情况下,它可能会与其他版本的Chrome一起使用,但是不支持这种用法。建议将ChromeDriver 2.44与Chrome 70配合使用。
我看不到您发布的代码有任何问题。希望您在下载更新的ChromeDriver之后能够获得更好的结果。