当前位置: 首页 > 知识库问答 >
问题:

如何使用chromedriver禁用所有chrome扩展

聂风史
2023-03-14
    null
chromedriver --log-level=ALL
curl -d '{"desiredCapabilities":{"browserName":"chrome","goog:chromeOptions":{"args":["--disable-extensions"]}}}' http://localhost:9515/session

[1558606783.990][信息]:启动Chrome:“C:\程序文件(x86)\google\chrome\application\chrome.exe”--禁用-背景-网络--禁用-客户端--网络钓鱼--检测--禁用-默认-应用程序--禁用-扩展--禁用-扩展--禁用-扩展--例外=“C:\user\user\appdata\local\temp\scoped_dir19964_411\internal”--禁用-挂起-监视器--禁用-弹出-阻塞--禁用-提示-转发--禁用-同步--禁用-Web-资源--启用-自动化--启用-闪烁-功能=shadowdomv0--enable-logging--force-fieldtrials=siteisolationextensions/control--忽略-证书-错误--log-level=0--no-first-run--password-store=basic--remote-debugging-port=0--test-type=webdriver--use-mock-keychain--user-data-dir=“C:\user\user\appdata\local\temp\scoped_dir19964_22650”数据:,

--disable-extensions-except=“C:\users\user\appdata\local\temp\scoped_dir19964_411\internal”

有办法摆脱它吗?在chromedriver文档中没有找到任何线索,这些文档非常粗略。

共有1个答案

杜经艺
2023-03-14

ChromeOptions.useAutomationExtension设置为false,将阻止插入Chrome Automation Extension

{
  "desiredCapabilities": {
    "browserName": "chrome",
    "goog:chromeOptions": {
      "useAutomationExtension": false,
      "args": [
        "--disable-extensions"
      ]
    }
  }
}

chromedriver文档http://chromedriver.chromium.org/capabilities中没有提到自动化扩展标志,但可以在当前版本的源代码(75.0.)中找到

    parser_map["useAutomationExtension"] =
        base::Bind(&ParseBoolean, &capabilities->use_automation_extension);
    status = internal::ProcessExtensions(
        capabilities.extensions, extension_dir->GetPath(),
        capabilities.use_automation_extension, &switches, extension_bg_pages);
  if (include_automation_extension) {
    ...
    if (switches->HasSwitch("disable-extensions")) {
      UpdateExtensionSwitch(switches, "disable-extensions-except",
                            automation_extension.value());

正如54594305中提到的,使用selenium驱动程序的Java代码将是

ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("useAutomationExtension", false);
 类似资料:
  • 问题内容: 我正在尝试在启动seleniumchrome时禁用所有chrome扩展名。但是,每次我运行代码时,所有扩展都将继续启动。有没有一种禁用扩展的方法。 样例代码 问题答案: 找到了解决方法。

  • 问题内容: 我开始使用seleniumselenium(selenium包装API),必须说它是一个很棒的工具,但是我唯一的问题是它缺少在线文档或用法示例。 任何想法如何在google- Chrome中运行以selenide编码的应用程序。我正在使用eclipse作为IDE。我在运行配置中添加了带有值chrome的环境变量“浏览器”,但是在运行时,它将使用Firefox。 我的堆栈是JDBC Ja

  • Puppeteer 可以用来测试 Chrome 扩展 注意 Chrome / Chromium 扩展当前只能在非无头模式下使用。 下面的代码用来处理扩展的 background page,该扩展的代码在 ./my-extension: const puppeteer = require('puppeteer'); (async () => { const pathToExtension =

  • 我正在尝试做的是创建一个chrome扩展,创建新的,嵌套的,书签文件夹,使用承诺。 执行此操作的函数是chrome.bookmarks.create()。但是我不能只循环这个函数,因为chrome.bookmarks.create是异步的。我需要等待,直到文件夹创建,并获得它的新ID,然后继续它的子级。 承诺似乎是要走的路。不幸的是,我找不到一个使用异步调用和自己的回调(如chrome.bookm

  • 问题内容: 我当时的假设是,如果禁用div,那么所有内容也会被禁用。 但是,内容为灰色,但我仍然可以与之交互。 有没有办法做到这一点?(禁用div并同时禁用所有内容) 问题答案: 上述许多答案仅适用于表单元素。禁用任何DIV包括其内容的简单方法是仅禁用鼠标交互。例如: CSS

  • 我在AWS(及相关服务)上闲逛,希望能像我在探索谷歌应用引擎时一样,留在免费层。 几天前,我收到亚马逊的一封信,他们向我收取了大约33美元的2天探索费用。 这必须结束,但我忘记了我启用了哪些服务。理想情况下,我只是完全禁用AWS帐户,因为没有免费的沙盒,我就无法使用他们的服务。是否有全局关闭按钮,还是我必须跌跌撞撞地单独关闭他们的所有服务?还是我必须删除我的CC信息并完全创建一个新的亚马逊帐户?