标签: safariwatir

watir-webdriver等待页面加载

使用watir-webdriver,如何在点击链接后等待页面加载?

目前我正在做的事情:

sleep n
Run Code Online (Sandbox Code Playgroud)

但这并不理想,因为页面响应变化很大.

是否有方法来测试页面是否准备就绪或页面中是否存在某个元素.我理解在正常的watir gem中有Watir::Waiter.wait_until或类似的东西,但我在webdriver版本中看不到这一点.

webdriver watir firewatir safariwatir watir-webdriver

17
推荐指数
2
解决办法
2万
查看次数

如何让watir-webdriver和safariwatir一起工作?

早上好,

我正在设置watirgrid并且我已经部分成功了,但是我遇到了让所有提供程序使用我的ruby脚本的问题.

在我的Mac上,我使用命令行设置了一个提供程序:

provider -d safariwatir -c druby://192.168.0.1:11235
Run Code Online (Sandbox Code Playgroud)

然后在我的Ubuntu机器上我设置了另一个提供者

provider -d webdriver -c druby://192.168.0.1:11235
Run Code Online (Sandbox Code Playgroud)

现在,如果我使用以下ruby代码:

require 'rubgygems'
require 'watirgrid'

Watir::Grid.control(:controller_uri => 'druby://192.168.0.1:11235', :browser_type => 'firefox'_ do |browser, id|
    puts "Browser id is #{i}"
    browser.goto("http://www.google.co.uk")
    puts browser.title
end
Run Code Online (Sandbox Code Playgroud)

这种方式的工作原理是两个浏览器都启动并转到所选页面.但是我不想指定'firefox'作为浏览器类型,因为我想要定位网格中的所有浏览器(Windows上的IE,Mac上的FF等).所以我然后尝试从Grid.control命令中取出'firefox',当'Safari'启动时,我从第二个浏览器收到错误,因为它不知道要运行什么我猜.

(抱歉,但我不是在我的机器上重新创建错误并在此处发布.我会尽可能用这个更新帖子).

我试图用-b开关启动webdriver提供程序:

provider -d webdrive -c druby://192.168.0.1:11235 -b firefox
Run Code Online (Sandbox Code Playgroud)

然后再次运行相同的ruby代码,没有浏览器类型,但我得到相同的错误.

我在这里错过了什么吗?

我假设在具有多个浏览器的计算机上运行多个提供程序是正常的,只是在不同的端口上.

我已经取得了一些成功,我已经让Chrome在一台孤立的机器上使用了webdriver,我认为这对我的Web开发很有帮助,我只需要解决这个问题所以感谢您的帮助.我希望这一切都有意义.

谢谢,拉塞尔

watir safariwatir watir-webdriver

5
推荐指数
1
解决办法
523
查看次数