如何在网站重定向时让Watir返回实际的HTML?

时间:2010-10-20 17:47:26

标签: watir

当我读出Watir返回的HTML时,它给了我一个页面,指示我通过我的Mac或PC返回浏览器。似乎我被Watir提供的用户代理重定向。我以为我用Watir驱动浏览器,但似乎并非如此。

ie = Watir::IE.new
ie.goto "http://www.apple.com/safari/download"

ie.checkbox(:name, "21.1.9.12.3.1.3.0").clear

返回UnkownObjectException。与尝试单击“提交”按钮相同。

使用firebug我可以找到复选框,这就是我找到:name的方式。所以我接下来将Watir的HTML输出重定向到一个文件中进行检查,

myfile = File.new("safaridebug.html", "w+")
myfile.puts ie.html
myfile.close

通过safaridebug.html查看我注意到我在与Web浏览器不同的页面上。在watir中有什么我可以获得我的网络浏览器中存在的实际HTML,也许是用户代理欺骗?感谢。

系统规格: 运行Win XP SP2的VM, 红宝石1.8.7, IE 8

1 个答案:

答案 0 :(得分:5)

在这种情况下,Watir正常工作。没有特殊的用户代理或Watir使用的任何东西,因为使用普通的旧IE并且它的用户代理当然是由IE本身发送的。

你无法找到Watir或HTML复选框的原因是复选框位于一个框架中:)在该html中查找一个框架标签,你就可以理解为什么你以前找不到它了。< / p>

您可以从框架中访问它:

b.frame(:id, "download-frame").checkbox(:name, "21.1.9.12.3.1.3.0").clear

如果您在尝试访问框架时遇到访问被拒绝错误,请阅读http://wiki.openqa.org/display/WTR/Frames

上的说明