次の問題が発生しています。自動化テストを実行しているときに、Chromeで次のアラート「開発者モード拡張機能を無効にする」が引き続き表示されます。
これを削除/無効にする方法はありますか?いくつかのテストに失敗するので、それは私にとってブロッカーです。
前もって感謝します
コマンドラインパラメーターで開発者拡張機能を無効にしようとしましたか?
次のSelenium WebDriver Javaコードで試してください:
System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-extensions");
driver = new ChromeDriver(options);
拡張機能を開発およびテストしているため、拡張機能を無効にできません。
このポップアップを閉じるために私がしていることは次のとおりです。
SendKeys(Control-N)
メソッドを使用)。これにより、3秒後に「開発者モード拡張機能を無効にする」ポップアップが表示されます新しいウィンドウでdriver.Close();
を使用してタブを閉じます(この新しいウィンドウも閉じます)。 Chromeはそれを「キャンセル」として受け取り、ポップアップを閉じ、元のウィンドウとタブを残します。ポップアップが、タブやウィンドウを切り替えるために使用しているSendKeysなどの通常のSeleniumブラウザーの対話を妨げるため、これが必要だと感じています。
これは、ChromeDriver.exe V2.23+Chrome 53.0。
どのchromeバージョンがどのドライバで動作するかを理解するには、次の詳細なドキュメントを使用できます。 https://sites.google.com/a/chromium.org/chromedriver/downloads
自動テストをお楽しみください!!
chrome 54およびchromedriver 2.25で解決
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();
Chromedriver v2.33の時点で、このメッセージを回避する正しい方法は load-extension
を excludeSwitches
オブジェクトのchromeOptions
引数に。次のJavaコードはトリックを行う必要がありますが、Pythonを実行しているため、テストしていません。
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches", Collections.singletonList("load-extension"));
他の人が指摘しているように、犯人はおそらくChrome Automation Extensionであり、ChromedriverがChromeを起動するときに自動的にロードされます。
Chromedriver v2.33 導入済み 拡張機能が読み込まれないようにする新しいスイッチ:
--load-extensionスイッチの除外を許可するexcludeSwitches機能の更新。
このソリューションでは、すべての拡張機能を無効にする必要はないと思われます。他の人を手動で読み込むことができるはずです。
ChromeDriverインスタンスの上にsetPropertyを追加してみてください
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);