禁用Chrome中的开发者模式扩展程序

lam*_*ute 145 google-chrome google-chrome-extension watir-webdriver selenium-chromedriver

自上周发布chrome(34.0.1847.116)以来,我在使用watir-webdriver运行自动化测试时收到了"禁用开发人员模式扩展".

这似乎是令人反感的延伸,但对我来说这是一个潜在危险的扩展,因为它是由chromedriver使用的.

任何已找到此修复程序的人,因为我无法回滚到以前的版本或找到旧版本的安装程序回滚到这对我的测试造成严重破坏.

在此输入图像描述

在此输入图像描述

Ant*_*ins 58

禁用弹出窗口的官方方式似乎是这样的:

  1. 打包你的扩展程序(chrome://extensions/勾选'开发者模式',点击'包扩展名......')并通过将.crx文件拖放到chrome://extensions页面中来安装它.

    (如果您在此阶段尝试重新启动Chrome,则会显示"已禁用不支持的扩展程序"弹出窗口)

然后为Win7/8:

  1. 从以下位置下载Chrome组策略模板:
    http://dl.google.com/dl/edgedl/chrome/policy/policy_templates.zip
  2. 复制[zip]\windows\admx\chrome.admxc:\windows\policydefinitions
  3. 复制 [zip]\windows\admx\[yourlanguage]\chrome.adml
    c:\windows\policydefinitions\[yourlanguage]\chrome.adml(不 c:\windows\[yourlanguage])
  4. 在Chrome中,转到"扩展程序"页面(chrome:// extensions)
  5. 检查顶部的"开发者模式"复选框
  6. 向下滚动已禁用的扩展名列表,并记下要启用的扩展的ID.例如,LogMeIn是ID:nmgnihglilniboicepgjclfiageofdfj
  7. 单击Start> Run,然后键入gpedit.msc <ENTER>
  8. 展开User Configuration> Administrative Templates> Google Chrome>Extensions
  9. 双击打开Configure extension installation whitelist策略
  10. 选择Enabled,然后单击Show...
  11. 在列表中,输入您在步骤7中记下的扩展的ID
  12. 点击OK并重新启动Chrome

而已!

截至2018年7月,这种方法已不再适用:似乎谷歌已停止尊重"白名单"

编辑:截至10/16/2018,这种方法工作.(Chrome版本69.0.3497.100(官方版本)(64位))

1.暂时在chrome:// extensions /中启用开发人员模式

2.使用"加载解压缩"卸载您安装的扩展(准确地说是导致弹出窗口的扩展名).

3.单击包扩展并输入文件的根目录(将扩展文件放在单个文件夹/每个错误导致扩展名的一个文件夹中)如果没有,请不要输入私钥文件.

4.单击包扩展,将在扩展的根目录附近创建.crx和.pem文件.使用crx文件安装扩展程序并保持pem文件的安全(如果删除它或出现错误,你可以随时重新打包扩展名).

5.然后将crx安装的扩展ID复制到白名单并重新启动Chrome.

弹出窗口应该消失了.

  • @Ryan这些政策模板的主页似乎是https://www.chromium.org/administrators/policy-templates此网站定期更新(最后更新54分钟前).我在6月24日使用了这种方法,配置适用于今天最新的Chrome版本.如果你更喜欢"不能禁用"作为官方版本 - 这是你的选择;) (4认同)

小智 35

在创建chrome驱动程序时,使用选项禁用它.它的工作没有任何扩展.

使用以下代码段

ChromeOptions options = new ChromeOptions();
options.addArguments("chrome.switches","--disable-extensions");
System.setProperty("webdriver.chrome.driver",(System.getProperty("user.dir") + "//src//test//resources//chromedriver_new.exe"));
driver = new ChromeDriver(options);
Run Code Online (Sandbox Code Playgroud)

  • 我们应该在哪里写这个? (32认同)
  • 你能为凡人解释一下吗?那个剧本是什么,或者把它放在哪里...... (7认同)
  • 今天,我不得不使用`options.AddArguments("chrome.switches"," - disable-extensions --disable-extensions-file-access-check --disable-extensions-http-throttling");`而不仅仅是` - 禁用扩展.我认为可以省略其中一个附加开关,但不能同时省略. (3认同)
  • 这很有效.在C#中,代码是:`options.AddArgument(" - disable-extensions");` (2认同)

wOx*_*xOm 22

截至2015年5月,Windows上的Chrome beta/dev/canary(请参阅第75-78行)始终显示此警告.

  • 我刚刚使用hiew32演示版修补了chrome.dll(开发频道,32位):运行它,切换到十六进制视图(回车键),搜索ExtensionDeveloperModeWarning(F7)然后按F6查找引用代码,转到在附近的INC EAX行,然后是RETN,按F3进行编辑,输入90而不是40,它将被渲染为NOP(无操作),保存(F9).

  • @Gsx发现的简化方法,也适用于64位Chrome开发人员:

    1. 运行hiew32演示(在管理员模式下)并打开Chrome.dll
    2. 切换到十六进制视图(Enter键)
    3. 搜索ExtensionDeveloperModeWarning(F7)
    4. 按下F3以编辑并用任何其他字符替换第一个字母"E"
    5. save(F9).
  • patch.BAT 脚本

当然,这只会持续到下一次更新,所以无论谁经常需要它,都可以编写一个自动修补程序或一个在内存中修补dll的启动程序.

  • 艾默生,这一变化仅在一周前进入了Dev渠道,所以它不在Stable中.您必须通过分析以前版本的源代码找到相关位置. (2认同)

Xan*_*Xan 7

无法禁用.引用:"抱歉,我们知道它很烦人,但你是恶意软件编写者......"

您唯一的选择是:使您的自动化测试适应这种新行为,或将违规脚本上传到Chrome网上应用店(可以以"不公开"的方式完成).

  • 有数以千计的原因导致我无法在webstore中使用我的扩展程序/应用程序,我需要在本地运行它.这是来自Google Chromium团队的一个非常恶劣的实施,非常EVIL,有知识的人应该与Chromium辩论并修复它.可怕的问题,严重不被赞赏.这个问题的所有答案都只是为那些正在处理自助终端项目的人而杀人.它的噩梦.请告知/ knock/debat与chrome社区,以解决此问题. (57认同)
  • 只有时间才能使用Chrome不再开发任何东西只是时间问题:) (3认同)

Nic*_*nto 7

有一个替代解决方案,使用Chrome-Developer-Mode-Extension-Warning-Patcher

  1. 这里从 Github下载最新版本。
  2. 关闭 Chrome。
  3. 解压 zip 存档并以管理员身份运行 ChromeDevExtWarningPatcher.exe 。
  4. 从刚刚打开的 GUI 中选择您的 Chrome 安装,然后单击 Patch 按钮:

在此处输入图片说明

  1. 在没有任何 DevMode 弹出窗口的情况下享受 Chrome!

  • 这是最好的解决方案。这甚至适用于便携式安装。 (2认同)

Pan*_*her 5

(回复安东尼·哈奇金斯)

这是目前设置 Chrome 政策的官方方式:https : //support.google.com/chrome/a/answer/187202?hl=en

Windows 和 Linux 模板以及适用于所有操作系统的通用策略文档可在此处找到:https : //dl.google.com/dl/edgedl/chrome/policy/policy_templates.zip(Google Chrome 模板的 Zip 文件和文件)

适用于 Windows 的说明(加上我的补充):

打开您下载的 ADM 或 ADMX 模板:

  • 从之前下载的“policy_templates.zip”(例如“policy_templates.zip\windows\adm\en-US\chrome.adm”)中以您选择的语言提取“chrome.adm”。
  • 导航到开始 > 运行:gpedit.msc。
  • 导航到本地计算机策略 > 计算机/用户配置 > 管理模板。
  • 右键单击管理模板,然后选择添加/删除模板。
  • 通过对话框添加“chrome.adm”模板。
  • 完成后,经典管理模板 (ADM) / Google / Google Chrome 文件夹将出现在管理模板下。
  • 无论是在计算机配置还是用户配置下添加模板,设置都会出现在这两个地方,所以你可以在机器或用户级别配置Chrome。

完成此操作后,从Antony Hatchkins 的回答的第 5 步继续。添加扩展程序 ID 后,您可以通过打开chrome://policy(搜索ExtensionInstallWhitelist)来检查该策略是否在 Chrome 中有效。