Я проанализировал страницу с помощью 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, вам придется вручную обработать запрос POST самостоятельно. Это включало бы поиск имен всех флажков и отправку в блок POST группы checkbox1=on&checkbox2=on&...
См. http://davidwalsh.name/execute-http-post-php-curl для общего примера запроса POST через cURL с PHP.
Другим вариантом было бы использовать что-то вроде Selenium Web Driver , которое в значительной степени позволяет вам сценаризировать веб-браузер, такой как Firefox, который может запускать JavaScript, щелкать вещи и т. Д.
Передайте параметр с запросом Curl, который обрабатывается jQuery на его $ (документе) .ready (). Есть несколько плагинов, которые помогают с параметрами синтаксического анализа.
Что-то вроде
$(document).ready(function(){ var buttonPress = $.param("buttonPress"); if (buttonPress == true) $("#myButton").click(); });