当chrome在selenium-jvm

时间:2018-11-25 23:41:51

标签: selenium google-chrome selenium-webdriver selenium-chromedriver

此问题有两个部分-

  1. 当chrome浏览器已经打开并且我触发selenium-java测试用例针对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);

我尝试了一些有关堆栈溢出的建议-

  1. 有人形容这是一个问题,因为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

1 个答案:

答案 0 :(得分:2)

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

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

相关问题