2

我有一个可以打开浏览器的 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 中做到这一点?

谢谢

4

1 回答 1

1

现在看到您提供了更容易解决的错误。

原因是 - 您已将 selenium 驱动程序实例命名为b

但将隐式时间定义为

b.driver.manage.timeouts.implicit_wait = $BROWSER_IMPLICIT_WAIT

即与b.DRIVER,因此错误消息 -undefined method 'driver' for

将您的命令更改为

b.manage.timeouts.implicit_wait = $BROWSER_IMPLICIT_WAIT
于 2012-06-21T16:21:42.437 回答