Я пытаюсь нажать на кнопку CSS через CURL / WGET, однако пока мне не везет. Точное местоположение ссылки для кнопки CSS — это динамический URI — например:
domain.com/some/page?thing=1
Тем не менее, когда вы открываете эту страницу через curl / wget, она не запускает действие. Есть селектор CSS, к которому мне нужно как-то получить доступ. Я нашел это:
http://codeception.com/docs/modules/PhpBrowser
Однако это требует установки дополнительного программного обеспечения, которое не является опцией. Мне нужно что-то, что будет работать с curl / wget или, возможно, образец сценария PHP. Я попытался предоставить следующий аргумент для wget:
—header = «селектор: какой-то селектор»
Однако это не дает желаемого результата.
Вот еще немного информации из комментария, чтобы ее было легче увидеть:
Я получил заголовки HTTP и попытался их скопировать, но безуспешно. Они слишком длинные, поэтому я загрузил примеры заголовков:
Может ли кто-нибудь предоставить пример сценария / команды, который может быть использован для достижения вышеизложенного?
Действие не запускается при доступе к URL-адресу — для этого необходимо нажать кнопку. Я предоставил заголовки HTTP в моей предыдущей команде. Вот как выглядит точная кнопка при осмотре:
<div style="margin-bottom:15px;">
<a style="display:block; width:350px" href="http://www.test.com/hos/6/42?game=1" id="game-one">
<img src="http://www.test.com/images/thumbs_up.jpg" width="24" height="24" />
Sample Text
</a>
</div>
Так что, в основном, мне нужно активировать селектор игры — как-то — симулировать нажатие на эту кнопку с помощью скрипта. PHPBrowser, о котором я упоминал выше, кажется, предлагает эту функциональность, однако я не могу установить его, так как для этого требуется дополнительное программное обеспечение, которое в данном случае недоступно.
В комментарии под вашим вопросом вы дали следующий HTML-код для «кнопки CSS».
<a id="game-one" href="test.com/hos/6/42?game=1"; style="display:block; width:350px">
Трудно сказать по одному этому якору, но, похоже, у вас есть простая старая ссылка. Другими словами, нажать на эту кнопку — значит щелкнуть ссылку, чтобы сделать HTTP-запрос GET для test.com/hos/6/42?game=1
и сделать страницу. Если это так, то используйте curl или wget для запроса test.com/hos/6/42?game=1
эффективно имитирует нажатие этой кнопки (при условии, что файлы cookie не имеют значения).
Также возможно, что есть некоторый код Javascript, ожидающий получения события click от id="game-one"
, но я не могу сказать наверняка, не глядя на страницу с «кнопкой CSS». Но если это так, рассмотрите возможность запуска события click с использованием Javascript. Увидеть Как смоделировать клик с помощью JavaScript? для простой реализации Javascript или Имитация нажатия кнопки в JavaScript для реализации JQuery.
Спасибо всем за помощь.
Я действительно смог понять это — это возможно через CURL. Похоже, что было необходимо добавить набор реферера для предыдущей страницы, поэтому для доступа к динамическому URI и запуска действия я использовал следующий CURL:
curl --head --referer 'http://www.test.com/hos/6/42' http://www.test.com/hos/6/42?game=1