2016-09-29 4 views
0

ruby​​を使ってSeleniumからchromeのmodHeadersのリクエストヘッダを追加しようとしています。クロムウェブブラウザでrubyを使ってセレンのヘッダを修正するためのリクエストヘッダを追加する方法

私はこのコードを試しましたが運はありません。 Modヘッダー拡張がブラウザーに追加されましたが、その拡張に要求ヘッダーを追加できません。

私のコードで問題を見つけるのを手伝ってください。

ありがとうございます。

require 'selenium-webdriver' 
driver = Selenium::WebDriver.for :chrome, 
    :desired_capabilities =>Selenium::WebDriver::Remote::Capabilities.chrome({ 
     'chromeOptions' => { 
      'extensions' => [Base64.strict_encode64(File.open('C:\Users\balinasr\Downloads\mod.crx', 'rb').read) ], 
      'prefs'=> { 
       'modifyheaders.headers.name'=>'aaa', 
       'modifyheaders.headers.value'=>'bbb' 
      } 
     } 
    }) 

答えて

1

あなたが探しているのは正確な答えではありませんが、これは私が使用するJavaコードです。グーグルで調査した後、ブラウザーのLocalStorageの値を設定するのは私にとっては難しかった:)。私がしたことは、chromedriverを起動するときにロードするプラグインが設定されたChromeユーザーを作成することです。

//to start the ChromeDriver with a plugin (from local.properties f.e.) 
    if (System.getProperty(CHROME_USER_DATA_DIR) == null && chromeUserDataDir != null && !chromeUserDataDir 
     .equalsIgnoreCase("@null")) { 
     options.addArguments("user-data-dir="+chromeUserDataDir); 
     if (System.getProperty(CHROME_EXTENSION1) == null && chromeExtension1 != null && !chromeExtension1 
      .equalsIgnoreCase("@null")){ 
      options.addArguments("load-extension="+chromeUserDataDir+chromeExtension1); 
     } 
    } 

パラメータは以下のとおりです。

chrome.user.data.dir=C:/Users/[user]/AppData/Local/Google/Chrome SxS/User Data/Default/ 
chrome.user.extension1=Extensions/idgpnmonknjnojddfkpgkljpfnnfcklj/2.1.1_0/ 
+0

私は正直にどのように関連しているか、ローカルストレージとヘッダわからないんだけど、Rubyでは、あなたが持っている: 'driver.session_storage'と' driver.local_storage'を。 chromeでのストレージ値の設定は、 'driver.local_storage ['foo1'] = 'bar1''と同じくらい簡単です – titusfortner

関連する問題