Каковы ограничения механизации? и в чем разница (ы) между механизировать и watir - PullRequest
7 голосов
/ 02 ноября 2011

Я использую механизацию, чтобы удалить некоторые веб-страницы.

  • Мне нужно знать, каковы ограничения механизации?Что механизировать нельзя?
  • Может ли он выполнять JavaScript, встроенный в веб-страницу?
  • Могу ли я использовать его для вызова функций JavaScript?Я не думаю, что это возможно.Я думаю Ватир может.
  • В чем разница между ним и Ватиром?

1 Ответ

13 голосов
/ 02 ноября 2011

Механизация может многое сделать.Он использует net / http, так что все, что вы можете сделать с net / http, вы можете сделать с механизацией.Хотя он поддерживает гораздо больше в соответствии с их описанием:

Библиотека Mechanize используется для автоматизации взаимодействия с веб-сайтами.Mechanize автоматически сохраняет и отправляет файлы cookie, отслеживает перенаправления, может переходить по ссылкам и отправлять формы.Поля формы могут быть заполнены и отправлены.Mechanize также отслеживает сайты, которые вы посетили в качестве истории.

Проверьте эту ссылку для получения дополнительной информации об использовании javascript с mechanize: здесь

Было бы намного проще сказать вам, поддерживает ли механизация конкретную функцию / задачу, вместо того чтобы проходить через все.Что именно вы хотите сделать?

Javascript - это единственное, что не может сделать механизатор.Единственное, что он поддерживает большую часть времени, - это отображение ссылок Javascript.то есть использование page.links.each {|link| puts link.text} также отобразит Javascript, но вы не сможете щелкнуть / выбрать их.

Проще говоря, Watir поддерживает Javascript.На самом деле ваш браузер поддерживает javascript, а Watir управляет браузером.

Watir запускает настоящий браузер (FF, Chrome, IE) и программно контролирует этот браузер.Он действует точно так же, как пользователь при доступе к веб-сайту.Это то, что позволяет вам использовать JavaScript.Watir контролирует только браузер, а браузер - тот, кто отправляет запросы, получает ответы и обрабатывает их.Вы ограничены скоростью используемого вами браузера.

С другой стороны, Mechanize действует как собственный «браузер» и работает намного быстрее, чем Watir, когда он не отображает страницы.Он общается напрямую с сервером и обрабатывает необработанный ответ.Механизация ограничена скоростью вашего соединения.

Watir будет использоваться поверх Механизации, когда вам нужно посмотреть и посмотреть, что происходит, использовать javascript или сделать что-нибудь связанное с GUI.Механизация намного быстрее и хороша для проверки фактической структуры сайта.(тестирование ссылок / логинов / и т.д.)

...