【问题标题】:Submit Form (PHP/Javascript) every 15 minutes每 15 分钟提交一次表单 (PHP/Javascript)
【发布时间】:2015-01-04 01:49:44
【问题描述】:

查看网络上的几个部分,但发现了一些对我有帮助的东西。

我有一个表单,它可以使用 PHP 和 Javascript 尽可能地自动化(JS 生成一个随机数并连接到一个表单字段中)

现在我要做的就是“按下”发送按钮。 我占用CasperJS(控制台)发送指令制作流程(进入页面-按下按钮-等待结果-手动重复)

但我想用其中任何一个(cron 作业、curl、casperJS)自动化并每 15 分钟发送一次(我忘记写指令并发送它,所以我想自动化这个)。

FORM 位于带有 Apache / MySql 的基本共享服务器中。

我会把链接发给你,但是是私密的。

任何想法你怎么能做到这一点。

【问题讨论】:

  • 您在分享您拥有的东西方面做得非常出色,而没有展示您拥有的东西
  • Cron 将是您正在寻找的,因为它是一种服务器端方法。客户端要求浏览器打开以便在不同的时间间隔执行。
  • @Fred-ii- 是的,但我不能让它工作,可能是因为服务器不接受很多东西,或者可能是看到了 JS。
  • 视情况而定。您的服务器是否支持/提供 cron?如果您在免费托管网站上,许多网站不提供 cron。
  • 不客气。一开始我对 cron 也有一些困难,但是当你掌握了它的窍门后,你会发现它会变得越来越清晰和容易。查找有关该主题的教程并继续阅读您理解的教程。有些没有很好的解释。 干杯

标签: javascript php forms submit casperjs


【解决方案1】:

您可以通过使用 js setinterval 和大多数 linux 机器中的一个简洁的小功能(称为 screen)单独使用 casperjs 来实现您所需要的。在 ubuntu 中,您可以像这样安装它:

sudo apt-get install screen

现在为了使用它:

  1. 创建一个带有 .js 扩展名的新文件以使用 casperjs 运行。 这是您可以尝试的示例代码:

    casper.start('http://myurl.com/myform.php', function() {
        setinterval(function(){
            // click the submit button
            casper.waitForSelector("your buttonselector")
                  .thenClick("yourbuttonselector");
            console.log('button pressed.');
       },15*60*1000);//the time in miliseconds
    }).run(function(){/* this prevents exiting*/});
    
  2. 将上面的脚本另存为文件 eg:myfile.js

  3. 在控制台屏幕中写入内容并按回车键。
  4. 运行脚本:casperjs myscript.js
  5. 此时程序将永远运行。您可以关闭控制台或按 ctrl+alt+d 以最小化屏幕。
  6. 为了查看和重新打开写screen -x

【讨论】:

  • 我有个小问题:在我的行::: this.click('#botonenviar');我明白了:TypeError: 'undefined' is not a function (evalating 'this.click('input.submit')')
  • @CrlsPerez 我已经用 this.click 编辑了这个部分: casper.waitForSelector("#somethingelse1").thenClick("#somethingelse1");请尝试告诉我。
猜你喜欢
  • 1970-01-01
  • 2017-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多