我遇到了以下问题:
运行自动化测试时,Chrome 浏览器会不断弹出 "禁用开发者模式扩展" 的警告提示框。
有没有办法去掉或禁用这个警告提示框?这对我来说是一个阻碍,因为它导致我的一些测试失败。
提前感谢!
有没有办法去掉或禁用这个警告提示框?这对我来说是一个阻碍,因为它导致我的一些测试失败。
提前感谢!
你尝试使用命令行参数禁用开发者扩展了吗?
尝试以下Selenium WebDriver Java代码:
System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-extensions");
driver = new ChromeDriver(options);
--disable-extensions
也没有列在Chrome / ChromeDriver文档中。 - Igor Brejc我不能禁用扩展程序,因为我正在开发和测试其中一个。
为了关闭这个弹窗,我采取以下措施:
我认为这是必要的,因为弹窗会干扰正常的Selenium浏览器交互,例如我正在使用SendKeys来切换选项卡和窗口。
load-extension
传递给 chromeOptions
对象的 excludeSwitches
参数。下面的Java代码应该可以解决问题,尽管我没有测试过它,因为我正在运行Python:ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches", Collections.singletonList("load-extension"));
这个问题已经被自动修复,使用了ChromeDriver.exe V2.23和Chrome 53.0的组合。
为了了解哪个chrome版本与哪个驱动程序兼容,我们可以使用以下详细文档:https://sites.google.com/a/chromium.org/chromedriver/downloads
享受自动化测试吧!
我通过使用AutoIT解决了这个问题。
首先,您需要创建脚本。
closechromewarning.au3:
WinWaitActive("[CLASS:Chrome_WidgetWin_1]")
Send("{ESC}")
public void CloseChromeDialog()
{
System.Threading.Thread.Sleep(5000);
Process.Start(@".\closechromewarning.exe");
}
Sleep(4000)
能够起到作用,但是为了确保我将其提高到了 Sleep(5000)
。
调用 CloseChromeDialog()
:
if(browser == chrome) //pseudo code
CloseChromeDialog();
已在Chrome 54和Chromedriver 2.25中解决
pywinauto 可以使用
import pywinauto
window_title = "Disable Developer Mode Extensions"
app = pywinauto.Application().connect(name_re=window_title)
win_ext = app.window(name=window_title)
win_ext.close()
System.setProperty("webdriver.chrome.driver","C:/[PATH]/chromedriver.exe");
driver = new ChromeDriver(capabilities);
我也遇到了这个问题。解决方法是,如果你正在使用Maven,只需添加:
-Dchrome.switches=--disable-extensions
它将禁用所有扩展程序,您将不会遇到这个问题。
我正在使用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);
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-extensions");
options.setExperimentalOption("prefs", prefs);
options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
- GKalnytskyi
chrome://extensions
-> 列出了什么?请注意,这不是Selenium打开的Chrome,而是您自己的实例。 - Arran