ChromeDriver - отключить расширения режима разработки для Selenium WebDriver
У меня возникла следующая проблема:
Когда я запускаю тесты автоматизации, я продолжаю получать следующее предупреждение "Отключить расширение режима разработки" в Chrome.
![enter image description here]()
Есть ли способ удалить/отключить это?. Это блокиратор для меня, поскольку он заставляет меня терпеть неудачу в некоторых тестах.
Заранее спасибо
Ответы
Ответ 1
Вы пытались отключить расширения разработчика с параметром командной строки?
Попробуйте использовать следующий код Java Selenium WebDriver:
System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-extensions");
driver = new ChromeDriver(options);
Ответ 2
Я не могу отключить расширения, потому что я разрабатываю и тестирую их.
То, что я делаю, чтобы отклонить это всплывающее окно, следующее:
- Я загружаю хром с моим расширением, используя Selenium.
- Затем я немедленно создаю новое окно (с помощью метода
SendKeys(Control-N)
). Это предсказуемо выводит всплывающее окно "Disable Developer Mode Extensions" через 3 секунды в новом окне.
- Я не могу сказать программно, когда он всплывает (не отображается на снимках экрана), поэтому я просто жду 4 секунды.
- Затем я закрываю вкладку с помощью
driver.Close();
(которая также закрывает это новое окно). Chrome принимает это как "отменить", отклоняя всплывающее окно, оставляя исходное окно и вкладку.
Я считаю это необходимым, потому что всплывающее окно вмешивается в обычное взаимодействие браузера селена, например SendKeys, которое я использую для переключения вкладок и окон.
Ответ 3
Это автоматически фиксируется комбинацией ChromeDriver.exe V2.23 + Chrome 53.0
Ответ 4
Я работал над этой проблемой с помощью AutoIT.
Сначала вам нужно создать script.
closechromewarning.au3:
WinWaitActive("[CLASS:Chrome_WidgetWin_1]")
Send("{ESC}")
script необходимо скомпилировать в .exe
, затем поместите .exe
в путь, чтобы он мог быть запущен.
Функция, которая закрывает предупреждение, используя синтаксис С#:
public void CloseChromeDialog()
{
System.Threading.Thread.Sleep(5000);
Process.Start(@".\closechromewarning.exe");
}
Sleep(4000)
работал, но я повысил его до Sleep(5000)
, чтобы быть уверенным.
Вызов CloseChromeDialog()
:
if(browser == chrome) //pseudo code
CloseChromeDialog();
Ответ 5
разрешен в хроме 54 и хромоникере 2.25
Ответ 6
Я тоже столкнулся с этой проблемой. Решение состоит в том, что если вы используете maven, просто добавьте:
-Dchrome.switches=--disable-extensions
Он отключит все расширения, и вы не столкнетесь с этой проблемой.
Ответ 7
Я использую selenium Webdriver 2.53 и chrome version 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);
Ответ 8
Попробуйте добавить setProperty над экземпляром ChromeDriver
System.setProperty("webdriver.chrome.driver","C:/[PATH]/chromedriver.exe");
driver = new ChromeDriver(capabilities);
Ответ 9
Я давно столкнулся с одной и той же проблемой. Решение оказалось очень простым. Просто скачайте обновленный "chromedriver.exe" и вставьте его в существующий, расположенный в папке "C:\Program Files\SeleniumBasic". Надеюсь, это сработает.
Ответ 10
Это связано с тем, что одно из ваших расширений работает в режиме разработчика. Пройдите через свой список расширений и отключите расширения один за другим, пока не найдете виновника (ов).