Каковы ограничения механизации? и в чем разница между mechanize и watir

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

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

1 ответов


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

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

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

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

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

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

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

Mechanize с другой стороны действует как собственный "браузер" и намного быстрее, чем Watir, становится он не рендерит страницы. Он напрямую разговаривает с сервером и обрабатывает необработанный ответ. Mechanize ограничен вашей скоростью соединения.

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