【问题标题】:Selenium Grid: install chrome extensions on sessionSelenium Grid:在会话中安装 chrome 扩展
【发布时间】:2017-06-08 16:38:55
【问题描述】:

在 Chrome 浏览器中的 Selenium Grid 测试中,我需要使用 Chrome Store 中的一个 chrome 扩展程序,但我遇到了一些麻烦 :(

  1. 我尝试在浏览器中转到扩展 URL (https://chrome.google.com/webstore/detail/...) 并按下安装键,但我无法在弹出的浏览器窗口中确认安装
  2. 我尝试下载 crx 扩展文件,但是我在浏览器中打开它我看到了确认窗口,但不明白如何确认安装
  3. 我尝试使用这种方法 - https://developer.chrome.com/extensions/external_extensions 添加 JSON 文件并运行浏览器 - 不起作用,但我在 Mac 上尝试,而不是在 Linux 上尝试
  4. webdriver.remote 只能使用 FireFox 选项 (seleniumhq.github.io/selenium/docs/api/py/webdriver_remote/selenium.webdriver.remote.webdriver.html)

如果我使用 Selenium Grid,我无法更改 Chrome 浏览器启动设置,也无法添加任何键 :(

也许您知道在 Selenium Grid 浏览器会话上安装扩展的另一种方法?

【问题讨论】:

    标签: python selenium google-chrome-extension selenium-grid


    【解决方案1】:

    您可以使用ChromeOptions

    ChromeOptions options = new ChromeOptions();
    options.addExtensions(new File("/path/to/extension.crx"));
    ChromeDriver driver = new ChromeDriver(options);
    

    或者,您可以将选项添加到已经存在的 DesiredCapabilities 对象。

    // Add ChromeDriver-specific capabilities through ChromeOptions.
    ChromeOptions options = new ChromeOptions();
    options.addExtensions(new File("/path/to/extension.crx"));
    capabilities.setCapability(ChromeOptions.CAPABILITY, options);
    ChromeDriver driver = new ChromeDriver(capabilities);
    

    您也可以使用远程网络驱动程序:

    DesiredCapabilities capability = DesiredCapabilities.chrome();
    // above code goes here...
    WebDriver driver = new RemoteWebDriver(new URL(hubUrl), capability);
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-14
    • 1970-01-01
    • 1970-01-01
    • 2018-03-23
    • 2016-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多