ruby – 机械化的局限性是什么?机械化和watir之间的区别是什么?

前端之家收集整理的这篇文章主要介绍了ruby – 机械化的局限性是什么?机械化和watir之间的区别是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用mechanize来废弃一些网页.

>我需要知道什么是机械限制?什么机械化不能做?
>它可以执行网页中嵌入的javascripts吗?
>我可以用它来调用javascript函数吗?我认为不可以.我认为Watir可以.
>它和watir有什么区别?

解决方法

机械化可以做很多事情.它使用net / http,所以无论你使用net / http做什么,你都可以用机械化做.虽然它根据描述支持更多:

The Mechanize library is used for automating interaction with websites. Mechanize automatically stores and sends cookies,follows redirects,can follow links,and submit forms. Form fields can be populated and submitted. Mechanize also keeps track of the sites that you have visited as a history.

查看此链接,了解有关使用javascript with mechanize:here的一些信息

如果机械化支持特定的功能/任务而不是通过一切,那么告诉你会容易得多.你还想做什么?

Javascript是机械化无法做到的一件事.它大部分时间支持的一件事是显示Javascript链接.即使用page.links.each {| link | puts link.text}也会显示Javascript,但你无法点击/选择它们.

简单来说,Watir确实支持Javascript.它实际上是您的浏览器支持javascript和Watir控制浏览器.

Watir运行一个真正的浏览器(FF,Chrome,IE)并以编程方式控制该浏览器.它的行为与用户访问网站时的行为完全相同.这使您可以使用javascript. Watir仅控制浏览器,浏览器是发送请求并获取响应并呈现/处理所有浏览器的浏览器.您受所使用浏览器的速度限制.

另一方面,Mechanize就像它自己的’浏览器’一样,并且比Watir快得多,因为它不会渲染页面.它直接与服务器对话,并处理原始响应.机械化受到连接速度的限制.

当您需要观察和查看正在发生的事情,使用javascript或执行任何与GUI相关的操作时,Watir将用于Mechanize. Mechanize更快,更适合测试网站的实际结构. (测试链接/登录/等)

猜你在找的Ruby相关文章