Я пытаюсь написать сценарий Bash, который открывает браузер, нажимает кнопку HTML на веб-странице и закрывает браузер после получения ответа. Мне нужно, чтобы этот скрипт был исполняемым из терминала. Если не сценарий Bash, то, возможно, сценарий Python.
Форма это:
<form method="post" action="duophones?yc=sasv1S2f8mXKITRJS1XrenZ30SA-" enctype="application/x-www-form-urlencoded">
<input name="phone" value="+15551231235" type="hidden">
<input name="action" value="dapact" type="hidden">
<input name="session" value="0" type="hidden">
<button class="c01 c01v0" name="action" type="submit" value="Activate +15551231234 over SMS (recommended)" override="true">Activate +15551231234 over SMS (recommended)</button>
</form>
Сценарий у меня есть:
curl -d value="Activate +15551231234 over SMS (recommended)" www.testpage.com
Любая помощь или направление будут оценены!
Ответы:
Вы должны рассмотреть возможность использования с открытым исходным кодом Селен ,
С Selenium IDE С помощью плагина к Firefox вы можете записывать свои действия (открывать страницу, нажимать на кнопку), воспроизводить эти песни и генерировать богатые сценарии Python или Ruby, которые можно настраивать и вызывать из CLI.
Пример тестирования скриптов по умолчанию доступности Apache может выглядеть следующим образом:
источник
использование завивать (
curl
). Это инструмент командной строки, который передает данные с использованием различных протоколов, включая HTTP. Прелесть здесь в том, что вам не нужен браузер с графическим интерфейсом; все будет обрабатываться на уровне командной строки.«Кнопка», которую вы хотите нажать, будет расположена в некоторой форме. Вы можете использовать Инструменты разработчика в Chrome или Firebug в Firefox, чтобы увидеть код формы. Ниже приведен пример формы с одним текстовым полем и кнопкой отправки:
Если бы вы заполнили эту форму в своем веб-браузере и нажали кнопку «Отправить», вы в основном отправили бы все, что вы ввели в текстовое поле, и отправили запрос на сервер.
Здесь важно отметить, что форма создает текстовое «поле» с именем Телефон где он будет хранить данные, которые вы вводите для публикации. В этом случае при вводе номера телефона (+12125551212) это значение присваивается Телефон , Когда вы нажмете Отправить кнопка посылает
phone="+12125551212
как часть ПОСТА.Итак, используя то, что я предполагаю, это номер телефона, который вы хотите передать в качестве значения для переменной, в curl код будет выглядеть так:
поскольку
curl
утилита командной строки, вы можете поместить ее в скрипт bash:источник
Другой вариант для надежного автоматического просмотра веб-страниц - Perl WWW :: Mechanize модуль.
к сообщить о спаме в службу spamcop Я использую комбинацию AppleScript и Perl. AppleScript взаимодействует с Mail и получает содержимое спама, а сторона perl управляет просмотром веб-страниц.
Ниже приведен пример
WWW::Mechanize
Чтобы отправить форму на веб-сервер, найдите в ответе определенную кнопку и нажмите кнопку:источник