【问题标题】:javascript button click using curl使用curl单击javascript按钮
【发布时间】:2012-06-11 20:26:42
【问题描述】:

我已经使用 curl 解析了一个页面,它包含一些复选框和一个“全选”和一个“提交”按钮。单击该按钮会选中每个复选框。“全选”按钮会触发一个 JavaScript 函数,该函数实际上是选中所有复选框。

现在我需要点击“全选”和“提交”按钮。我该怎么做??

这里是按钮代码:

input type="button" onclick="SelectAll(137)" value="Select All"

这里是js函数:

function SelectAll(n)
{
    for(i=0;i<n;i++)
    document.getElementById("ch"+i).checked=true;
} 

【问题讨论】:

  • 我是唯一一个注意到问题中curl 引用的人吗?没有人怀疑全选+提交是否需要使用curl
  • "我已经使用 curl 解析了一个页面" 解析是什么意思,是浏览器实际加载的[内容]吗?
  • 是的...所有复选框和按钮都加载到浏览器中

标签: php javascript curl


【解决方案1】:

你不能。如果必须使用 cURL,则必须自己手动制作 POST 请求。这将涉及查找所有复选框的名称并在 POST 正文中发送一堆 checkbox1=on&amp;checkbox2=on&amp;...。有关使用 PHP 通过 cURL 进行 POST 请求的一般示例,请参阅 http://davidwalsh.name/execute-http-post-php-curl

另一种选择是使用 Selenium Web Driver 之类的东西,它几乎可以让你编写一个像 Firefox 这样的 Web 浏览器脚本,它可以运行 JavaScript、点击东西等。

【讨论】:

    【解决方案2】:

    在您的 Curl 请求中传递一个参数,该参数由 jQuery 在其 $(document).ready() 上解析。有一些插件可以帮助解析参数。

    类似

    $(document).ready(function(){
        var buttonPress = $.param("buttonPress");
        if (buttonPress == true)
            $("#myButton").click();
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-03
      • 1970-01-01
      • 2011-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多