2016-09-29 6 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 사용자를 만드는 것입니다.

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

솔직히 로컬 스토리지 및 헤더가 관련이 있는지 모르겠지만, 루비에, 당신은 :

//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); } } 

매개 변수는'driver.session_storage'과'driver.local_storage'을. chrome에서 저장 값을 설정하는 것은'driver.local_storage [ 'foo1'] = 'bar1''처럼 쉽습니다. – titusfortner