HTTP请求路径为空(ArgumentError)

时间:2014-05-21 21:45:25

标签: ruby watir watir-webdriver

我是ruby编程的新手。这是我在Watir的第一个项目。当我执行下面的代码时,我得到了HTTP request path is empty (ArgumentError)。感谢您帮助修复此错误。我通过代理设置访问互联网。我已将环境变量中的HTTP_PROXY变量添加到http://myproxy.mynetwork.net:8008/

test.rb

require "watir"
require "rubygems"
require "rspec"
require "watir-webdriver"

puts "Hello,World...!" 

@browser = Watir::Browser.new
@browser.goto("http://www.google.com")   
@browser.close
puts "Browser should have been closed.."

输出

d:\>ruby test.rb
Hello,World...!
C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1860:in `initialize': HTTP request path is
 empty (ArgumentError)
        from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:2093:in `initialize'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.41.0/lib/s
elenium/webdriver/remote/http/default.rb:71:in `new'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.41.0/lib/s
elenium/webdriver/remote/http/default.rb:71:in `new_request_for'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.41.0/lib/s
elenium/webdriver/remote/http/default.rb:35:in `request'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.41.0/lib/s
elenium/webdriver/remote/http/default.rb:64:in `request'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.41.0/lib/s
elenium/webdriver/remote/http/common.rb:40:in `call'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.41.0/lib/s
elenium/webdriver/remote/bridge.rb:634:in `raw_execute'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.41.0/lib/s
elenium/webdriver/remote/bridge.rb:99:in `create_session'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.41.0/lib/s
elenium/webdriver/remote/bridge.rb:68:in `initialize'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.41.0/lib/s
elenium/webdriver/firefox/bridge.rb:36:in `initialize'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.41.0/lib/s
elenium/webdriver/common/driver.rb:31:in `new'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.41.0/lib/s
elenium/webdriver/common/driver.rb:31:in `for'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.41.0/lib/s
elenium/webdriver.rb:67:in `for'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.9/lib/watir
-webdriver/browser.rb:46:in `initialize'
        from test.rb:8:in `new'
        from test.rb:8:in `<main>'

Firefox浏览器窗口正在打开。之后地址栏没有变化,并且在一段时间后它将被关闭。

3 个答案:

答案 0 :(得分:0)

net / http需要有效路径。所以你必须在URL的末尾添加一个斜杠,如下所示:

@browser.goto("http://www.google.com/")

答案 1 :(得分:0)

  

我在环境变量中添加了HTTP_PROXY变量   http://myproxy.mynetwork.net:8008/

从我的(Windows)用户/系统环境设置中删除我的HTTP_PROXY变量有帮助! 我不确定为什么这会导致selenium的问题..

答案 2 :(得分:0)

以下步骤对我有所帮助:

  1. 从我的系统中移除HTTP_PROXY和HTTPS_PROXY变量(用户变量)

  2. 重新启动终端以使更改生效。

  3. 关于它!没有更多的错误!

相关问题