2016-09-29 6 views
0

Я пытаюсь добавить заголовки запросов для modHeaders в хром через Selenium с ruby.Как добавить заголовки запросов для редактирования заголовка в селене с рубином на веб-браузере Chrome.

Я пробовал этот код, но не повезло. Расширение заголовка модуля добавлено в браузер, но невозможно добавить заголовки запросов к этому расширению.

Пожалуйста, помогите мне найти проблему в моем коде.

спасибо.

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 браузера была слишком сложной для меня :). То, что я сделал, - создать пользователя 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'. Установка значения хранения в хром так же просто, как 'driver.local_storage ['foo1'] = 'bar1'' – titusfortner