首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenide:如何使用扩展打开Chrome浏览器

Selenide:如何使用扩展打开Chrome浏览器
EN

Stack Overflow用户
提问于 2018-08-18 04:50:27
回答 3查看 4K关注 0票数 2

我遇到了一个问题,我无法使用任何扩展打开Chrome。我已经添加了一个扩展,但不知道如何在Selenide框架中正确运行它。你能帮帮我吗?

代码语言:javascript
复制
@BeforeClass
public static void setUp() {
   Configuration.browser = "chrome";
   System.setProperty("selenide.browser", "chrome");
   ChromeOptions options = new ChromeOptions();
   options.addExtensions(new File("src/main/resources/uBlock Origin.crx"));
        }
EN

回答 3

Stack Overflow用户

发布于 2018-08-18 16:34:00

硒化物:http://selenide.org/2018/01/12/selenide-4.10/

您可以在配置中设置自定义功能,Selenide将在打开浏览器时使用这些功能:

代码语言:javascript
复制
Configuration.browserCapabilities = new DesiredCapabilities();
Configuration.browserCapabilities.setCapability(SOME_CAP, "SOME_VALUE_FROM_CONFIGURATION");

你也可以设置自定义的webdriver,就像@angi13回答:

代码语言:javascript
复制
WebDriverRunner.setWebDriver(myDriverWithExtension);
票数 2
EN

Stack Overflow用户

发布于 2018-08-18 06:08:10

我不知道如何在selenide中做到这一点,但您可以像这样在selenium中添加扩展:

代码语言:javascript
复制
public static WebDriver getChromeDriverWithAdblockCrx() {
          System.setProperty("webdriver.chrome.driver", "src//main//resources//chromedriver.exe");
          DesiredCapabilities capabilities = new DesiredCapabilities();
          ChromeOptions options = new ChromeOptions();
          options.addExtensions(new File("src//main//resources//uBlock Origin.crx"));
          capabilities.setCapability(ChromeOptions.CAPABILITY, options);

          return new ChromeDriver(capabilities);
    }

希望这对您有帮助:)。

票数 1
EN

Stack Overflow用户

发布于 2018-08-20 01:12:19

@sers,@angi13,非常感谢!

但功能不是从Configuration.browserCapabilities添加的。我写了以下代码:

代码语言:javascript
复制
@BeforeClass
public static void setUp() {
Configuration.browser = "chrome";
ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("src/main/resources/uBlock Origin.crx"));
Configuration.browserCapabilities = new DesiredCapabilities();
Configuration.browserCapabilities.setCapability(ChromeOptions.CAPABILITY, options);
}

这是github上提到的已知问题:https://github.com/codeborne/selenide/issues/676

作为第二个变通方法,我使用以下选项:

代码语言:javascript
复制
@BeforeClass
public static void setUp() {
System.setProperty("webdriver.chrome.driver", "src/main/resources/chromedriver.exe");
Configuration.browser = "chrome";
ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("src/main/resources/uBlock Origin.crx"));
WebDriver webDriver = new ChromeDriver(options);
setWebDriver(webDriver);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51902703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档