我遇到以下问题: 当我运行自动化测试时,我不断收到以下警告"禁用开发者模式扩展"在Chrome中。
有没有办法删除/禁用此功能?对我来说这是一个阻碍因为它让我失败了一些测试。
提前致谢
答案 0 :(得分:55)
您是否尝试使用命令行参数禁用开发人员扩展?
尝试使用以下Selenium WebDriver java代码:
System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-extensions");
driver = new ChromeDriver(options);
答案 1 :(得分:8)
我无法禁用扩展程序,因为我正在开发&测试一个。
我正在做的解雇此弹出窗口的内容如下:
SendKeys(Control-N)
方法)。这可以预测在新窗口中3秒之后弹出“禁用开发者模式扩展”弹出窗口。 driver.Close();
关闭标签(这也关闭了这个新窗口)。 Chrome将其视为“取消”,取消弹出窗口,保留原始窗口和标签。我发现这是必要的,因为弹出窗口干扰了正常的selenium浏览器交互,比如SendKeys,我用它来切换标签和窗口。
答案 2 :(得分:3)
这已使用 ChromeDriver.exe V2.23 + Chrome 53.0 的组合自动修复。
要了解哪个Chrome版本适用于哪个驱动程序,我们可以使用以下详尽的文档:https://sites.google.com/a/chromium.org/chromedriver/downloads
享受自动化测试!!
答案 3 :(得分:2)
我使用AutoIT解决了这个问题。
首先,您需要创建脚本。
closechromewarning.au3:
WinWaitActive("[CLASS:Chrome_WidgetWin_1]")
Send("{ESC}")
需要将脚本编译为.exe
,然后将.exe
放在路径中以便运行。
使用c#语法关闭警告的函数:
public void CloseChromeDialog()
{
System.Threading.Thread.Sleep(5000);
Process.Start(@".\closechromewarning.exe");
}
Sleep(4000)
确实有效,但为了确定,我将其提升为Sleep(5000)
。
致电CloseChromeDialog()
:
if(browser == chrome) //pseudo code
CloseChromeDialog();
答案 4 :(得分:2)
在chrome 54和chromedriver 2.25中解决
答案 5 :(得分:0)
我也遇到了这个问题。解决方法是,如果你使用maven,那么只需添加:
-Dchrome.switches=--disable-extensions
它将禁用所有扩展程序,您将不会遇到此问题。
答案 6 :(得分:0)
我使用的是selenium Webdriver 2.53和chrome版本56.0.2924.87,我使用的chrome driver.exe是2.27。使用这种组合,它正在与
一起工作System.setProperty("webdriver.chrome.driver", "./utilities/chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-extensions");
DesiredCapabilities caps = new DesiredCapabilities().chrome();
caps.setCapability(ChromeOptions.CAPABILITY, options);
driver = new ChromeDriver(caps);
答案 7 :(得分:0)
尝试在ChromeDriver实例上添加setProperty
System.setProperty("webdriver.chrome.driver","C:/[PATH]/chromedriver.exe");
driver = new ChromeDriver(capabilities);
答案 8 :(得分:0)
从Chromedriver v2.33开始,避免出现此消息的正确方法是将load-extension
传递给chromeOptions
对象的excludeSwitches
自变量。尽管我在运行Python时尚未进行测试,但以下Java代码应该可以解决问题:
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches", Collections.singletonList("load-extension"));
正如其他人指出的,罪魁祸首可能是Chrome自动化扩展,它在启动Chrome时由Chromedriver自动加载。
Chromedriver v2.33 introduced的新开关可防止加载扩展程序:
更新为排除开关功能,现在可以排除--load-extension开关。
我怀疑此解决方案不需要您禁用所有扩展。您仍然应该能够手动加载其他人。
答案 9 :(得分:-1)
这是因为您的某个扩展程序在开发人员模式下运行。浏览您的扩展程序列表并逐个禁用扩展程序,直到找到罪魁祸首。