这甚至可能吗?使用jquery进行浏览器自动化?

时间:2014-03-16 16:43:58

标签: jquery

我的朋友想在网上制作以下节目

在新窗口中打开浏览器,例如google.com。等待3秒钟以完全加载页面。查找搜索表单。找到搜索表单后,插入搜索词,比如说酒店。自动搜索内容。

可以用jquery完成吗?

基本上它是jquery的浏览器自动化。

可以做到。

基本上,如果用户转到http://mydomainname.com/?search=hotel,我希望用户浏览器自动打开另一个包含搜索表单的窗口,我希望用户搜索此类关键字。

用户需要能够点击我们获得付款,我们不会自动执行此操作。但我们希望自动化搜索。

所以这就像自动点击一样,除了点击我们只是搜索而不是欺诈。

2 个答案:

答案 0 :(得分:1)

通常,您将使用实际的自动化软件(以及测试),例如Selenium

如果您确实想要在纯javascript(或jQuery只是一个js库)中执行此操作,那么您需要进行浏览器扩展。浏览器扩展可以使用javascript处理您正在寻找的自动化类型。

答案 1 :(得分:0)

您通常无法使用基于网页的javascript(例如来自其他域的jQuery)来操纵第三方网站的状态,例如google.com(除非该网站通过某种{{{}}同意它1}} api)。请参阅:http://en.wikipedia.org/wiki/Same-origin_policy

有一些警告:

  • 有时可以通过本地服务器代理第三方域的内容来解决此限制,使其看起来好像是在本地加载内容。然后你可以使用你自己的javascript来增加它(以这种方式加载的postMessage具有可访问的内容,因为它看起来是本地的)。 这通常是一个坏主意 - 人们不会感谢您将其内容表示为您自己的内容(更不用说尝试此操作的所有潜在技术障碍)。

  • 您可以通过某些浏览器控制应用程序(如selenium)执行此类浏览器自动化。 Selenium有一个nodeJS实现,它是javascript,但不是基于DOM的网页javascript。

  • 如果您尝试操作的网站同意被操纵,您可以在两个网站之间实施iframe次回调。 postMessage允许您通过本地javascript调用在两个单独的站点之间创建通信通道,因此可以在两者之间发送消息,这可以促进您的要求。请参阅:postMessage

如果您只是希望自己的网站将搜索内容代理到Google上,那么您可以将搜索网址映射到Google,即postMessageyoursite.com?s=search-str - 但是您将拥有控件他们从那里做了什么。即使你google.com/?q=search-str谷歌,你也不知道他们去了哪里或者他们做了什么,除了指导他们去谷歌本身。