【问题标题】:auto fill fields and submit from another server, is it posible?自动填写字段并从另一台服务器提交,可以吗?
【发布时间】:2011-03-23 09:18:40
【问题描述】:

假设有一个站点http:/ /testsite.com,带有一些字段和提交按钮。

有没有办法编写一个javascript脚本,它将用我想要的值填充所有字段,并自动进行提交操作?

可能吗,也许有一些关于它的文档?

谢谢

更新

我无权访问网站的脚本,我必须从另一台服务器制作它。

【问题讨论】:

    标签: javascript jquery autofill


    【解决方案1】:

    您是指不是您自己的网站吗?例如,您想将另一个网站的表单嵌入到您的网页中,然后自动填充一些值?不,一般来说,由于同源政策,这是无法做到的。您能做的最好的事情就是代理该站点,例如您的网络服务器可以获取表单、填写值并将其呈现给您的用户。如果其他站点需要身份验证,这将不起作用(或不太好)。

    【讨论】:

      【解决方案2】:

      也许您正在寻找像Selenium 这样的东西,它可以记录您的操作(使用浏览器插件),将它们保存为测试脚本,并在以后重播。

      另一种选择是使用 CURL 制作自定义 POST 请求,或创建您自己的表单以提交到处理testsite.com 上的表单的页面。

      这真的取决于你想要完成什么。

      【讨论】:

      • Selenium 似乎非常有用:) 它可以满足我的需求。怎么样,如果我得到该网站的所有 html,使用php file_get_gontents() function,然后提出请求。好像行得通?
      • file_get_contents 默认情况下会发出 GET 请求,但您可以为其提供上下文以将其更改为 POST 并提供必要的表单数据。参见stream_context_create的手册:php.net/manual/en/function.stream-context-create.php
      • 嗯... Selenium 无法访问或将脚本输入到跨站点 IFrame。
      • OP 没有提到帧。
      • 您还打算如何将跨域内容放入您拥有脚本权限的文档中? Selenium 位于文档根目录的 /selenium(或类似名称)中。
      【解决方案3】:

      当然,试试这个:

      $('form').filter('input').each(function() {
         $(this).val('Some value');
      }).end().submit();
      

      【讨论】:

      • 我无权访问他们的脚本。我必须从我的网络服务器上完成。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-03
      • 2011-02-25
      • 2012-06-11
      • 1970-01-01
      • 2017-01-20
      • 1970-01-01
      相关资源
      最近更新 更多