3

我已经使用 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;
} 
4

2 回答 2

5

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

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

于 2012-06-07T18:34:01.757 回答
-1

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

就像是

$(document).ready(function(){
    var buttonPress = $.param("buttonPress");
    if (buttonPress == true)
        $("#myButton").click();
});
于 2012-06-07T18:28:49.167 回答