与Tor浏览器的Watir

时间:2014-07-12 00:59:30

标签: ruby watir watir-webdriver tor

我一直在玩Watir和Tor浏览器而我无法让他们工作。 但是,我打开了正确的浏览器,我无法打开网站。

我的代码:

Selenium::WebDriver::Firefox.path = '\path\Tor Browser\Start Tor Browser.exe'
driver = Selenium::WebDriver.for :firefox
browser = Watir::Browser.new :firefox, :driver => driver

这会弹出一个消息框,其中显示:

  

无法加载您的Firefox个人资料。它可能缺失或无法访问。

正确的浏览器也会打开,但网站没有。

我也尝试过:

Selenium::WebDriver::Firefox.path = '\path\Tor Browser\Browser\firefox.exe'
driver = Selenium::WebDriver.for :firefox
browser = Watir::Browser.new :firefox, :driver => driver

有了这个,消息框不会出现,但仍然没有加载网站。

我不确定,问题是在我的代码中还是在浏览器中。 非常感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

启动Tor然后运行此操作,假设您的socks端口为9050

require 'watir-webdriver'

profile = Selenium::WebDriver::Firefox::Profile.new
profile['network.proxy.socks'] = "127.0.0.1"
profile['network.proxy.socks_port'] = 9050
profile['network.proxy.type'] = 1
$browser = Watir::Browser.new :firefox, :profile => profile

$browser.goto "whatsmyip.org" 

答案 1 :(得分:0)

Firefox和Tor不是同一个浏览器。 Watir使用webdriver API来控制浏览器。您无法使用Firefox webdriver API来控制其他浏览器。

在您的第二个示例中,浏览器不会打开网站,但您没有告诉他。你应该添加:

browser.goto('http://my.example.com')

并且不要忘记在代码末尾添加browser.quit以关闭浏览器。