2016-10-14 61 views
0

Webdriverは、次の行に進む前にページ全体が読み込まれるのを待つので、画像が無効になっていると、ネットワークが遅いときに画像が高速化されます。私は私のコードで画像を無効にするにはどうすればよいJavaScript:Selenium ChromeDriverの画像を無効にする

var webdriver = require('selenium-webdriver'), 
    By = webdriver.By, 
    until = webdriver.until; 

var driver = new webdriver.Builder() 
    .forBrowser('chrome') 
    .build(); 

driver.get('http://www.google.com/ncr'); 
driver.findElement(By.name('q')).sendKeys('webdriver'); 
driver.findElement(By.name('btnG')).click(); 
driver.wait(until.titleIs('webdriver - Google Search'), 1000); 
driver.quit(); 

これは、セレンwebdriverをウェブサイトでの例のjsファイルはありますか?

私はこの質問のためにgoogleを検索しましたが、私はこのソリューションをPythonで入手します:Disable images in Selenium Python。ハイレベルでは

答えて

1

、私はいくつかのソリューションを参照してください。

  • は(私が対応するchromedriverのドキュメントを見つけることができませんが、あなたはそれをグーグルことができます)2profile.managed_default_content_settings.imagesを設定します。
  • プロキシを設定するイメージファイルを要求するときに空のデータを返すプロキシ経由でページに接続します。
  • あなたのためにこれを行うブラウザプラグインでブラウザをロードしてください。何か(広告ブロックされた作品のようなもの)は既に利用可能かもしれません。 (con:ブラウザ固有の解決策)
0

ここではイメージをロードしないコードを示します。

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.chrome.options import Options 

chrome_options = Options() 
chrome_options.add_experimental_option("prefs", {'profile.managed_default_content_settings.images': 2}) 
driver = webdriver.Chrome("chromedriver.exe",chrome_options=chrome_options) 
+0

JavaScriptコードが必要です。 –

+0

JavaScriptを使用する特別な理由はありますか? – Piyush

+0

私の現在のプロジェクトはJavaScriptを使用しているためです。コードをJavaScriptに変更したくありません。ところで、私はPython Guyではありません。 –

0

あなたが画像を無効にWebdriverJS」Builderからoptionsオブジェクト渡すことができます:

{ 
    prefs: { 
     profile: { 
      managed_default_content_settings: { 
       images: 2 
      } 
     } 
    } 
} 

を完全な例は次のとおりです。これは間違いなく私のために働いた

const chromeDesktop = { 
    prefs: { 
     profile: { 
      managed_default_content_settings: { 
       images: 2 
      } 
     } 
    } 
}; 
const { By, Builder, until } = require('selenium-webdriver'); 
const driver = new Builder().withCapabilities(chromeDesktop).build(); 

+0

2017年7月以降に来てくれた人の皆さんには、Chrome 61で 'default_content_setting_values'で動作していました。 – Sean

関連する問題