0

我尝试使用我的代码通过 watir-webdriver 打开 Internet Explorer:

require "watir-webdriver"


profile = Selenium::WebDriver::Firefox::Profile.new
profile.proxy = Selenium::WebDriver::Proxy.new :http => 'http://username:password@xx.xxx.xxx.xx:xxxxx', :ssl => 'http://username:password@xx.xxx.xxx.xx:xxxxx'

我得到这个错误,说明我猜的一些东西?它是这样写的:

C:/Ruby/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/firefox/profile.rb:205:in `Integer': invalid value for Integer(): "//username:password@xx.xxx.xxx.xx:xxxxx" (ArgumentError)
    from C:/Ruby/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/firefox/profile.rb:205:in `set_manual_proxy_preference'
    from C:/Ruby/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/firefox/profile.rb:176:in `proxy='
    from test1.rb:6:in `<main>'
4

1 回答 1

0

我至少可以解释错误。您不能将基本身份验证传递给代理 url,因为代码期望字符串中的冒号用于区分主机和端口(需要是整数。

我没有太多使用 Selenium 代理的经验。在互联网上四处寻找问题提供建议,例如signon.autologin.proxy在您指定的 Firefox 配置文件中设置为 true,或添加 Firefoxautoauth扩展。本质上,您可以在个人资料中手动保存一次密码,然后自动化测试就不必输入它。

于 2016-05-04T02:55:16.467 回答