【问题标题】:Watir with Tor browser使用 Tor 浏览器的 Watir
【发布时间】:2014-07-23 18:40:00
【问题描述】:

我一直在使用 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

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

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

【问题讨论】:

  • 你的方法不对……你为什么用Firefox类,打开另一个浏览器?
  • 因为,据我所知,Tor 浏览器几乎就是 Firefox,只是通过 Tor 网络
  • 有一个similar question。也许那里的答案会对您有所帮助?

标签: ruby watir watir-webdriver tor


【解决方案1】:

启动 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" 

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-11
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多