В чем разница между Requests и Selenium?

Всем привет!
Прочитав про Selenium и немного попользовавшись Requests у меня осталось пару вопросов:

1)В чем принципиальная разница между Selenium и Requests?

2)Что может Selenium чего не может Requests?

3)Почему очень часто вижу коды где Requests используется в связке с Selenium?

4)(Пример) Можно ли залогиниться ,сделать click,загрузить файл на сайте (instagram и пр) использую только requests?

Заранее большое спасибо за ответы
  • Вопрос задан
  • 2624 просмотра
Решения вопроса 3
sim3x
@sim3x
docs.python-requests.org не может делать клик, он может отправлять и принимать http запросы
Selenium - обертка для апи браузера, через которую можно сделать клик. Она может все, что может делать браузер
Ответ написан
EvilsInterrupt
@EvilsInterrupt
System programming, Reversing Engineering, C++
Selenium это управление браузером используя webdriver. А Request это библиотека. Чем запущенный Google Chrome лучше чем Request? Да их сравнивать не нужно, это разное!

Об этом на selenium2.ru прямо первой строчкой указано"Selenium -- это инструмент для автоматизированного управления браузерами."

Когда вы используете Selenium вы пишите код по управлению драйвером. Да, вы можете это сделать на Python, но ведь можете и на любом другом языке.
Ответ написан
Комментировать
urtow
@urtow
*nix, python, QA, bagpipe, folk music
Нет, нельзя.

requests - это просто отправлялка http запросов.
Selenium, это обертка вокруг драйвера для браузера.

Соответственно, через requests ты никаким образом не можешь взаимодействовать с UI сайта. От слова вообще :)

Потому зачастую проще сделать подготовку тестового стенда через API бекенда (для этого используется requests), а после провести тестирование UI (для чего используется уже Selenium).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ktulu
@ktulu
Пишу на python
Requests - это библиотека для создания запросов. Она более "низкоуровневая" и на JS сайтах может не справляться. Но гораздо более быстрая чем Selenium,
Selenium - Это целый комбайн, по сути управляет браузером и умеет делать почти всё что умеет браузер, в том числе работать с JS. Но по скорости сильно уступает Requests, потому что собственно работает целый браузер.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы