Механизация может многое сделать.Он использует 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.Механизация намного быстрее и хороша для проверки фактической структуры сайта.(тестирование ссылок / логинов / и т.д.)