我正在使用机械化来废弃一些网页。

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

    机械化可以做很多事情。它使用 net/http,所以你可以用 net/http 做的任何事情都可以用机械化来做。虽然根据他们的描述它支持更多:



    查看此链接以获取有关在机械化中使用 javascript 的一些信息:here

    告诉您机械化是否支持特定功能/任务而不是遍历所有内容会容易得多。您到底想做什么?

    Javascript 是机械化无法做的一件事。大多数时候它确实支持的一件事是显示 Javascript 链接。即使用 page.links.each {|link| puts link.text} 也将显示 Javascript,但您将无法单击/选择它们。

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

    Watir 运行一个真正的浏览器(FF、Chrome、IE)并以编程方式控制该浏览器。它的行为与用户访问网站时的行为完全相同。这就是使您能够使用 javascript 的原因。 Watir 只控制浏览器,浏览器是发送请求和获取响应并渲染/处理所有内容的浏览器。您受到所使用浏览器速度的限制。

    另一方面,机械化就像它自己的“浏览器”,比 Watir 快得多,它不渲染页面。它直接与服务器对话,并处理原始响应。机械化受您的连接速度限制。

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

    关于ruby - 机械化的局限性是什么? mechanize 和 watir 之间有什么区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7983831/

    10-15 16:35