Задать вопрос

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

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

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

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

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

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

Заранее большое спасибо за ответы
  • Вопрос задан
  • 2965 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Решения вопроса 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, потому что собственно работает целый браузер.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽