【发布时间】:2012-07-04 03:26:46
【问题描述】:
我有几台开发机器。一个有效,另一个无效。
设置无效:
主机:四 火狐:13.0.1 Ubuntu:12.04 桌面版 Ruby:1.8.7(2011-06-30 补丁级别 352) 红宝石:1.8.15 Selenium-WebDriver:2.24.0 代理:192.168.1.70:8118
有效的设置:
主机:开发 火狐:13.0 Ubuntu:12.04 桌面版 Ruby:1.8.7(2011-06-30 补丁级别 352) 红宝石:1.8.24 Selenium-WebDriver:2.22.2 代理:127.0.0.1:8118
在不起作用的设置中(主机quad),Firefox 会弹出,但随后会记录有关意外 503 响应的错误(我使用 Privoxy 并且在不起作用的机器上,我让整个代理都可用局域网,所以我的代理是 192.168.1.70:8118)。
当 Ruby 脚本崩溃时,Firefox 会打开并且不会关闭。所以我已经能够使用那个 Firefox 实例来上网了。这很好用。因此 Firefox 能够正常启动并通过 Privoxy。 Privoxy 503 页面从未出现在 Firefox 上,我只在日志中看到弹出窗口。
我也用 Chrome 尝试过这个脚本(在主机 quad 上)。日志中出现同样的错误,但 Chrome 从不为我弹出一个窗口。我认为这是由于 2 个浏览器处理代理的方式不同。
在主机 dev 上,此脚本运行良好。当代理为 127.0.0.1:8118(它是本地 Privoxy)时,该脚本可以正常工作。由于主机 quad 上的 Privoxy 可用于整个 LAN,我将主机 dev 上的代理设置更改为 192.168.1.70:8118。完成此操作后,我在主机 dev 上运行脚本并在终端中收到 Privoxy 错误,但 Firefox 打开并执行脚本的其余部分,就好像该错误从未发生过一样。
我的假设是,这是我的设置中导致问题的细微差别。但我不知道是不是 Firefox 13.0.1。 vs 13.0 或我的 RubyGems 版本或我的 Selenium-WebDriver 版本。
我认为理想情况下我应该在两台机器上进行相同的设置。但是哪个设置更好?我更希望能够使用最新的 Firefox,因为我厌倦了告诉 Ubuntu 中的更新管理器不要每天执行所有 Firefox 更新。当我运行 apt-get update/upgrade 时,我不想手动删除所有 Firefox 更新。也就是说,如果最好的设置是使用 Firefox 10、Ruby 1.8.7、RubyGems ......那么我将设置一些我不费心运行 apt-get update/upgrade 的虚拟机,这样我就有了更多环境稳定。
谢谢
【问题讨论】:
-
两个系统都在运行 privoxy 3.0.19,我尝试将 privoxy 更改为在 127.0.0.1 上工作。还是不行。代码在这一行
b = Selenium::WebDriver.for :firefox, :profile => profile上轰炸,并使用 begin/end 语句来捕获它不起作用。
标签: firefox ubuntu rubygems selenium-webdriver