今天刚刚安装了 Yosemite 测试版。到目前为止,它并没有破坏我的任何(其他)程序并且看起来不错,所以我全力以赴。但刚才我试图运行我的一个 ruby 脚本,它启动一个 firefox 窗口来执行一些自动化活动(watir),但它根本不起作用。挂起直到脚本超时。从那以后,我尝试在所有三个浏览器(包括我之前没有使用过 watir 的 Safari)上运行 Watir(在 ruby 中),并得到三个略有不同但行为相似(挂起、超时/超时)错误消息/回应。它们如下:
#these are the watir-related gems in my Gemfile. Some are not necessarily used for this exercise, however.
require 'selenium-wedriver'
require 'selenium'
require 'watir-webdriver'
require 'watir-scroll'
===============火狐============
- 在优胜美地安装之前肯定工作过
b = Watir::Browser.new :firefox
- 成功启动了一个新的 Firefox 实例,但 URL 栏中没有任何信息,也没有像往常一样的内容
控制台继续挂起 60 秒(无法使用 watir 命令调用 firefox),然后抛出此错误
Selenium::WebDriver::Error::WebDriverError: unable to obtain stable firefox connection in 60 seconds (127.0.0.1:7055)
===============铬===========
我在 watir 上使用的铬不多,但在优胜美地之前它也有效。
b = Watir::Browser.new :chrome
成功启动浏览器,并在 url 栏下方显示黄色下拉警告错误,说明:
You are using an unsupported command-line flag: --ignore-certificate-errors. Stability and security will suffer.
脚本就像其他两个一样挂起,并最终引发此错误:
Selenium::WebDriver::Error::UnknownError: unknown error: unable to discover open pages (Driver info: chromedriver=2.3,platform=Mac OS X 10.10.0 x86_64)
=============== SAFARI ===========
- 我以前从未尝试过这个。甚至不知道它的存在。
b = Watir::Browser.new :safari
- 在此 url 成功启动新的 Safari 实例:
127.0.0.1:59302/?url=ws%3A%2F%2F127.0.0.1%3A59302%2Fwd
- 页面标题为“Safari Driver Client”并提供实时状态更新。给我的消息如下
[ 0.004s] [safaridriver.client] Requesting connection at ws://127.0.0.1:59302/wd...
[ 2.540s] [safaridriver.client] Unable to establish a connection with the SafariDriver
同时控制台挂起并最终抛出此错误:
Selenium::WebDriver::Error::TimeOutError: timed out waiting for Safari to respond
所以无论如何,我需要这些 watir 脚本才能在我的机器上工作,并且有两个选择: - 使用恢复工具和仅限 WiFi 连接的 Apple Time Capsule,花费/等待 16 多个小时将我的 mac 恢复为小牛。- 写一个关于堆栈溢出的大量文档和详细的问题来解决这个问题,并坚持使用优胜美地。
我肯定更喜欢后者。
多谢你们