Может ли curl заменить такие программы, как Selenium, HtmlUnit, watir и т. д.?

Мне нужно создать сценарии для некоторых страниц веб-форм, и curl кажется ответом, поскольку он поддерживает PHP.

Однако в форме используются вкладки меню JavaScript, и я не совсем уверен, как curl находит ссылки и щелкает их для появления других страниц. Я попробовал Selenium, и это сработало сразу. Если я использую Selenium для поиска идентификаторов элементов формы, можно ли написать сценарий curl для поиска этих элементов, затем щелкнуть их, ввести значения и нажать кнопку отправки?

Htmunit — еще один вариант, который я хотел бы попробовать.


person vfclists    schedule 28.12.2010    source источник


Ответы (2)


Нет. curl не является инструментом функционального тестирования и ничего не знает о html или DOM вашей страницы (объектная модель документа), чтобы иметь возможность взаимодействовать с ним. Это не значит, что вы не можете использовать curl и передавать ответ чему-то, что понимает html...

person Abdullah Jibaly    schedule 28.12.2010
comment
Меня не интересует инструмент тестирования как таковой, просто то, что можно использовать для управления браузером, например, заполнение веб-формы и ее отправка. - person vfclists; 29.12.2010
comment
Тогда да, он, безусловно, может сгенерировать сообщение http, чтобы отправить форму на сервер и получить ответ. - person Abdullah Jibaly; 29.12.2010
comment
Как он находит элементы для клика? Есть ли примеры того, как он находит элементы имени для нажатия или редактирования полей формы? Selenium, кажется, делает это, но я не понимаю, как curl может это сделать, если он не знает идентификаторы заранее. - person vfclists; 30.12.2010
comment
Как я упоминал выше, curl сам по себе не может найти элементы DOM. Вы должны сделать все вручную (т.е. проверить результат и выяснить, какой запрос сделать). - person Abdullah Jibaly; 30.12.2010

Может быть, это поздний ответ. Я работал с htmlunit через Java. Это очень удобно и полезно. Вы можете найти много toturials онлайн. Кроме того, он частично поддерживает javascripts.

person pix    schedule 29.10.2017