файл watir webdriver browsermob/proxy har почти пуст

Привет, я хочу поймать все перенаправления, когда они произошли. Допустим, сначала он идет на example.com, затем перенаправляется на example1.com, а затем на example3.com.

Я использую watir webdriver и browsermob/proxy. Я пытался с google.com, это не перенаправляет, но файл har должен быть намного больше, чем то, что я получаю.

вот код:

server = BrowserMob::Proxy::Server.new("/home/da/Downloads/browsermob-proxy-2.0.0/bin/browsermob-proxy") #=> #<BrowserMob::Proxy::Server:0x000001022c6ea8 ...>
        server.start
  @@proxy = server.create_proxy(9090)
        puts @@proxy.inspect
  profile = Selenium::WebDriver::Firefox::Profile.new
        puts "going on #{dv}"
  profile['general.useragent.override'] = dv['useragent']
        #'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:27.0) Gecko/20100101 Firefox/27.0'#device['useragent']
  puts dv['useragent']
  profile.proxy = Selenium::WebDriver::Proxy.new :http => 'localhost:9090', :ssl => 'localhost:9090'#9091
  time = Time.now.to_i #Time.now.getutc
  puts APP_ROOT
  @@proxy.new_har time
  @@b = Watir::Browser.new :firefox, :profile => profile
        @@har = @@proxy.har #=> #<HAR::Archive:0x-27066c42d7e75fa6>
        #har.entries.first.request.url
        #har.entries.first.request.url #=> "http://google.com"
        @@b.goto "google.com"
        puts @@har.inspect
        @@har.save_to "#{APP_ROOT}/har/google.har"
        exit

и это то, что я получаю

{"log":{"version":"1.2","creator":{"name":"BrowserMob Proxy","version":"2.0","comment":""},"browser":{"name":"IE","version":"11.0","comment":""},"pages":[{"id":"1479767515","startedDateTime":"2016-11-21T23:31:56.561+01:00","title":"","pageTimings":{"comment":""},"comment":""}],"entries":[{"pageref":"1479767515","startedDateTime":"2016-11-21T23:32:02.146+01:00","request":{"method":"GET","url":"https://tiles.services.mozilla.com/v3/links/fetch/en-US/release","httpVersion":"HTTP/1.1","cookies":[],"headers":[],"queryString":[],"headersSize":370,"bodySize":0,"comment":""},"response":{"status":303,"statusText":"SEE OTHER","httpVersion":"HTTP/1.1","cookies":[],"headers":[],"content":{"size":0,"mimeType":"text/html; charset=utf-8","comment":""},"redirectURL":"","headersSize":266,"bodySize":0,"comment":""},"cache":{},"timings":{"blocked":101,"dns":266,"connect":238,"send":1,"wait":205,"receive":832,"ssl":0,"comment":""},"serverIPAddress":"52.32.150.180","comment":"","time":1643},{"pageref":"1479767515","startedDateTime":"2016-11-21T23:32:02.791+01:00","request":{"method":"POST","url":"https://location.services.mozilla.com/v1/country?key=7e40f68c-7938-4c5d-9f95-e61647c213eb","httpVersion":"HTTP/1.1","cookies":[],"headers":[],"queryString":[{"name":"key","value":"7e40f68c-7938-4c5d-9f95-e61647c213eb"}],"headersSize":419,"bodySize":2,"comment":""},"response":{"status":200,"statusText":"OK","httpVersion":"HTTP/1.1","cookies":[],"headers":[],"content":{"size":49,"mimeType":"application/json; charset=UTF-8","comment":""},"redirectURL":"","headersSize":227,"bodySize":49,"comment":""},"cache":{},"timings":{"blocked":0,"dns":9,"connect":45,"send":17,"wait":60,"receive":511,"ssl":0,"comment":""},"serverIPAddress":"52.19.86.22","comment":"","time":642}],"comment":""}}

Я пробовал с перенаправлениями, как указано выше, с example1.com на exmple2.com, и файл har не дает многого :(

ВОТ некоторые тесты, которые я провел:

Хорошо, вот некоторые результаты тестов: firefox 49 2.0.0 вообще не работает firefox 49 2.1.2 вообще не работает firefox 48 2.1.2 вообще не работает

firefox 47 2.1.2 работает, но har маленький firefox 47 2.0.0 работает har файл больше firefox 47 2.1.0 работает har средний большой firefox 47 2.1.1 работает и самый большой

Затем я также протестировал Firefox 46 и получил те же результаты....

Помнится, пару лет назад у меня тоже были редиректы с такими же кодами, и теперь я могу их получить :(


person user1405338    schedule 21.11.2016    source источник


Ответы (1)


Вы пытались создать WebDriver::Proxy через Browsermob.

e.g.

profile.proxy = @@proxy.selenium_proxy :http, :ssl

Кроме того, сам BrowsermobProxy обычно работает на 9090, поэтому я ожидал конфликта портов, когда вы пытались создать прокси на 9090. Если вы используете приведенный выше код, вам не нужно указывать порт.

e.g.

@@proxy = server.create_proxy
person Robbie Wareham    schedule 08.12.2016