browsermob-proxy获取.har文件并拒绝权限

时间:2013-09-24 11:38:12

标签: ruby selenium-webdriver

我正在尝试使用您的gem并在Windows 7中执行以下操作:

gem install browsermob-proxy
一切都取得了成功 但后来我尝试启动代码:

require 'selenium/webdriver'
require 'browsermob/proxy'

server = BrowserMob::Proxy::Server.new('C:/Ruby193/lib/ruby/gems/1.9.1/gems/browsermob-proxy-0.1.3/lib/browsermob-proxy.rb') #=> #<BrowserMob::Proxy::Server:0x000001022c6ea8 ...>
server.start

proxy = server.create_proxy #=> #<BrowserMob::Proxy::Client:0x0000010224bdc0 ...>

profile = Selenium::WebDriver::Firefox::Profile.new #=> #<Selenium::WebDriver::Firefox::Profile:0x000001022bf748 ...>
profile.proxy = proxy.selenium_proxy

driver = Selenium::WebDriver.for :firefox, :profile => profile

proxy.new_har "google"
driver.get "http://google.com"

har = proxy.har #=> #<HAR::Archive:0x-27066c42d7e75fa6>
har.entries.first.request.url #=> "http://google.com"
har.save_to "/tmp/google.har"

proxy.close
driver.quit

并收到错误:

C:/Ruby193/lib/ruby/gems/1.9.1/gems/browsermob-proxy-0.1.3/lib/browsermob/proxy/server.rb:16:in ´initialize' : Permission denied - not executable: C:/Ruby193/lib/ruby/gems/1.9.1/gems/browsermob-proxy-0.1.3/lib/browsermob-proxy.rb (Errno::EACCES) 
from gethar.rb:in 'new'
from gethar.rb:in '<main>'

我认为在Linux中没有像linux一样的权限吗? 所以请帮忙

1 个答案:

答案 0 :(得分:1)

错误消息具有误导性。这不是权限问题;你需要指向browsermob bat文件,它与gem分开。

您可以在此处下载:http://bmp.lightbody.net/

然后指向文件位置,我看起来像这样:

server = BrowserMob::Proxy::Server.new('C:/browsermob-proxy/bin/browsermob-proxy.bat')

那应该可以解决你的问题。