2017-09-15 27 views
0

私の悪い英語を申し訳ありません。 webdriver + chrome + extensionに質問があります。 私はadblockのような多くの拡張子の有無にかかわらず100サイトの読み込み時間をテストする必要があります。 私はJavaでプログラムします。私はこれで、拡張聖霊降臨祭が.crx追加すると : 問題があるSelenium Webdriver Java:拡張機能と私の設定でChromeブラウザを起動

ChromeOptions options = new ChromeOptions(); 
options.addExtensions(new File("/path/to/extension.crx")); 
DesiredCapabilities capabilities = new DesiredCapabilities(); 
capabilities.setCapability(ChromeOptions.CAPABILITY, options); 
ChromeDriver driver = new ChromeDriver(capabilities); 

「クリア」adblockのダウンロードの設定とクロムスタート。

私はクロームで手動で設定する最大限の設定が必要ですが、

私の設定で拡張機能を使用して新しいChromeインスタンスを起動するにはどうすればよいですか?

+0

拡張機能は、設定を保存するローカルストレージを使用します。セレンを使用してローカルストレージを復元したり、拡張機能が許可している場合はURLで設定したり、予想される設定で拡張機能を再パックしたり、拡張機能がすでにインストールされている既存のプロファイルを使用できます。 –

答えて

0

プロファイル全体でクロムを開始できます。以下の例は、ウィンドウです。自分のユーザー名をパスに入れる必要があります。 Linuxでは、ユーザーデータへのパスを変更するだけです。

ChromeOptions options = new ChromeOptions(); 
options.addArguments("user-data-dir=C:/Users/YOUR_USERNAME/AppData/Local/Google/Chrome/User Data"); 
DesiredCapabilities capabilities = new DesiredCapabilities(); 
capabilities.setCapability(ChromeOptions.CAPABILITY, options); 
ChromeDriver driver = new ChromeDriver(capabilities); 
+0

ありがとうございます! 例えば、私がこの指示を使うと、私は新しいchrome instaceですべての拡張を見つけることができますか?ウィットの設定? –

+0

はい、そうです。 –

+0

ok!今私はあなたのソリューションをテスト! 拡張機能がありますが、問題があります! ブラウザが起動すると、ホームページが読み込まれ、Googleの小さなボックスとGoogle検索(デフォルトのクロムホームページ)も読み込まれます! 小さなボックスを読み込むと合計読み込み時間になります! 私は空のクロムのホームページを拡張機能で実行できるソリューションが必要です。 –

1

これは私の新しいコードです:

System.setProperty("webdriver.chrome.driver", "C:\\Users\\P\\Desktop\\progetto tesi\\chromedriver.exe"); 
      ChromeOptions options = new ChromeOptions(); 
      options.addArguments("user-data-dir=C:\\Users\\P\\AppData\\Local\\Google\\Chrome\\User Data"); 
      DesiredCapabilities capabilities = new DesiredCapabilities(); 
      capabilities.setCapability(ChromeOptions.CAPABILITY, options); 

      driver = new ChromeDriver(capabilities); 
      driver.manage().deleteAllCookies(); 
      driver.manage().window().maximize(); 
      driver.manage().timeouts().implicitlyWait(1000, TimeUnit.SECONDS);// Aspetta 30 secondi prima di catturare un eccezione. 
      driver.manage().timeouts().pageLoadTimeout(1000, TimeUnit.SECONDS); 
関連する問題