Как нажать на кнопку на сайте python
Перейти к содержимому

Как нажать на кнопку на сайте python

  • автор:

Как нажать на кнопку на сайте через Python?

Есть сайт, на котором некоторые элементы страницы недоступны до нажатия на кнопку. Адрес при нажатии при этом не меняется, поэтому нельзя просто перейти на другую страницу. Как это сделать? Какие библиотеки нужны?

Отслеживать
задан 21 дек 2019 в 19:05
IceCube092 IceCube092
43 1 1 серебряный знак 8 8 бронзовых знаков
Нет баллов на коммент, поэтому так. Это должно помочь: stackoverflow.com/questions/27869225/…
21 дек 2019 в 19:13

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Для подобных целей есть selenium.

Вот небольшой пример авторизации в вк.

from time import sleep from selenium import webdriver VK_ROOT_URL = "https://vk.com/" class TestFunc(object): def __init__(self): self.driver = webdriver.Firefox() self.driver.get(VK_ROOT_URL) def login(self, username, password): email_field = self.driver.find_element_by_id("index_email") email_field.send_keys(username) sleep(5) password_field = self.driver.find_element_by_id("index_pass") password_field.send_keys(password) sleep(5) login_button = self.driver.find_element_by_id("index_login_button") login_button.click() if __name__ == __main__: username = 'username' password = 'password' TestFunc().login(username, password) 

Для марса у селенитам есть такая функция как get_attribute(«outerHTML»), которая возвращает HTML. В вашем распоряжении есть большая документация.

Как с помощью питона нажать на кнопку на сайте?

Нужно нажать на кнопку «Прозвонить » на сайте «Удаленное управление Android». Помогите мне это реализовать. Какие библиотеки и методы нужно для этого использовать для этого?

  • Вопрос задан более трёх лет назад
  • 28570 просмотров

Комментировать
Решения вопроса 2

from selenium import webdriver driver = webdriver.Firefox() driver.get('http://yo.ur/pretty-and-cool/url') element = driver.find_element_by_css_selector('button.with-class#or-id') element.click()

Ответ написан более трёх лет назад
Нравится 7 4 комментария
VADIMPYthon @VADIMPYthon

Верно я понимаю?
Я могу выбрать либо id кнопки или class кнопки. Или я должен и id и class написать?
Также у меня вопрос я должен верхнюю запятую оставлять или нет?

VADIMPYthon, либо id, либо класс, либо тэг, либо любые их комбинации. Погугли CSS селекторы. А лучше пользоваться xpath.

��️ Как нажать на кнопку на сайте с помощью python requests

Теперь вы нажали на кнопку на веб-сайте с использованием библиотеки python-requests . Убедитесь, что вы адаптируете код для своего конкретного случая, заменяя URL и данные на свои.

Детальный ответ

Как нажать на кнопку на сайте с помощью Python Requests

Нажатие на кнопку на веб-сайте с использованием библиотеки Python Requests может быть достаточно простым при правильном подходе. В этой статье мы рассмотрим пошаговый процесс для выполнения этой задачи.

Шаг 1: Установка библиотеки Requests

Первым шагом является установка библиотеки requests. Вы можете сделать это с помощью следующей команды:

pip install requests

Убедитесь, что у вас установлена последняя версия библиотеки requests перед продолжением.

Шаг 2: Отправка POST запроса

Для нажатия на кнопку на веб-сайте мы часто используем метод POST, так как он позволяет отправлять данные на сервер. Вам также потребуется URL веб-страницы, на которую вы хотите нажать кнопку.

Вот пример кода:

import requests url = "https://example.com/button-click" response = requests.post(url) if response.status_code == 200: print("Button clicked successfully!") else: print("Failed to click the button.")

Здесь мы используем функцию requests.post(), чтобы отправить POST запрос на указанный URL. Затем мы проверяем статус-код ответа, чтобы убедиться, что кнопка успешно нажата.

Шаг 3: Отправка GET запроса

Часто веб-сайты используют кнопки для перехода на другие страницы или выполнения определенных действий. Для этого мы можем использовать метод GET, чтобы получить содержимое страницы после нажатия кнопки.

Вот пример кода:

import requests url = "https://example.com/button-click" response = requests.get(url) if response.status_code == 200: print("Button clicked successfully!") print(response.text) # Вывод полученного содержимого страницы else: print("Failed to click the button.")

Здесь мы также используем функцию requests.get(), чтобы отправить GET запрос на указанный URL. Затем мы проверяем статус-код ответа и выводим содержимое страницы в случае успешного нажатия кнопки.

Шаг 4: Добавление параметров или заголовков

Иногда нажатие на кнопку может потребовать передачи дополнительных параметров или заголовков. В таких случаях вы можете использовать аргументы params или headers при отправке запроса.

Вот пример кода с использованием параметров:

import requests url = "https://example.com/button-click" params = response = requests.post(url, params=params) if response.status_code == 200: print("Button clicked successfully!") else: print("Failed to click the button.")

Здесь мы добавляем параметр «button_id» в запрос, чтобы указать, какую кнопку мы хотим нажать. Вы можете настроить параметры в соответствии с требованиями веб-сайта.

А вот пример кода с использованием заголовков:

import requests url = "https://example.com/button-click" headers = response = requests.post(url, headers=headers) if response.status_code == 200: print("Button clicked successfully!") else: print("Failed to click the button.")

Здесь мы добавляем заголовок «Content-Type» для указания типа содержимого запроса. Вы можете настроить заголовки в соответствии с требованиями веб-сайта.

Шаг 5: Работа с аутентификацией

Если веб-сайт требует аутентификации перед нажатием кнопки, вы можете добавить данные аутентификации в запрос.

Вот пример кода:

import requests url = "https://example.com/button-click" auth = ("username", "password") response = requests.post(url, auth=auth) if response.status_code == 200: print("Button clicked successfully!") else: print("Failed to click the button.")

Здесь мы добавляем данные аутентификации (имя пользователя и пароль) с помощью аргумента auth в запрос. Убедитесь, что данные аутентификации соответствуют требованиям веб-сайта.

Заключение

Теперь у вас есть пошаговое руководство по нажатию кнопки на веб-сайте с помощью библиотеки Python Requests. Помните, что в зависимости от требований веб-сайта вам могут потребоваться дополнительные параметры, заголовки или аутентификация. Используйте примеры кода в этой статье и настройте их в соответствии с вашими потребностями.

Python requests, как нажать на кнопку?

Занимаюсь разработкой парсеров на python requests. Какие параметры нужно передавать в http запрос чтобы нажать на кнопку oneclick. Например сайт https://24score.pro/football/match/608022-west_ham. (выбран случайно) есть три кнопки последние 20, 10 и 5 матчей. по умолчанию загружается первая кнопка, но как загружать страницу со второй и третей кнопкой?
Заранее спасибо!

  • Вопрос задан более двух лет назад
  • 2819 просмотров

Комментировать
Решения вопроса 2

SoreMix

soremix @SoreMix Куратор тега Python

Нажать на кнопку через requests — никак.
Все, что вы можете — посмотреть что проиходит при нажатии на кнопку и попытаться повторитьт то же самое действие через requests.

Конкретно на этом сайте все данные изначально загружены на страницу, и при нажатии на кнопки не происходит ничего, кроме переключения вкладок

Ответ написан более двух лет назад
Комментировать
Нравится Комментировать

HemulGM

Hemul GM @HemulGM Куратор тега Python
Delphi Developer, сис. админ

Нажатие на кнопку делает запрос или выполняет скрипт на JS. Ну а JS в свою очередь выполняет запрос или меняет что-то на странице. Если нужно действие, которое происходит на сервере, то достаточно посмотреть какой запрос выполняется после нажатия на кнопку. Посмотреть можно через DevTools почти любого браузера.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *