【发布时间】:2012-06-18 16:45:40
【问题描述】:
我有一个可以打开浏览器的 ruby 脚本。如果 FF 由于某种原因失败,我将它设置为先打开 Firefox,然后再打开 Chrome - 比如 FF 得到更新而 Selenium 还没有赶上。
等待函数/定义在 FF 中运行良好,但总是会破坏 Chrome。下面是Chrome浏览器启动的相关代码:
b = Selenium::WebDriver.for :chrome
b.driver.manage.timeouts.implicit_wait = $BROWSER_IMPLICIT_WAIT
我还是 Selenium 的新手,我在声明如下内容后使用了 wait.until 命令:
wait = Selenium::WebDriver::Wait.new(:timeout => $BROWSER_EXPLICIT_WAIT)
以上代码行在 Firefox 中运行良好。但是,我想用 FF 和 Chrome 运行我的脚本。有没有办法在 Chrome 和 FF 中做到这一点?
谢谢
【问题讨论】:
-
到底是什么问题,你看到了什么错误?
-
这是implicit_wait 命令的结果:未定义的方法`driver' for #<:webdriver::driver:0x..fb753d86c browser=":chrome"> (NoMethodError)
-
wait = ... $BROWSER_EXPLICIT_WAIT) 行似乎在我当前的开发机器上工作得很好。这很奇怪,因为我记得它特别不适用于我原来的开发机器(最近遇到了硬盘问题)。既然我不能重复它,我想我现在不会担心它。
-
对于为什么implicit_wait 仍然会导致问题以及如何解决它有什么想法吗?
标签: google-chrome ubuntu selenium webdriver