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

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

  • автор:

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

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

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

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

SoreMix

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

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

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

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

HemulGM

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

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

Как нажать на кнопку на сайте через 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». Помогите мне это реализовать. Какие библиотеки и методы нужно для этого использовать для этого?

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

Комментировать
Решения вопроса 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-сообщество

[RSS Feed]

  • Начало
  • » Python для новичков
  • » Нажать кнопку на сайте

#1 Ноя. 13, 2015 17:19:02

Valera_idi_syuda Зарегистрирован: 2015-10-09 Сообщения: 13 Репутация: 0 Профиль Отправить e-mail

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

Здравстуйте. Как нажать кнопку методами GET и POST?
Чтобы нажать кнопку нужно залогиниться.

import requests url = 'http://www.wolframalpha.com/input/login.jsp' urlauth = 'http://www.wolframalpha.com/input/authjson.jsp' furl = 'http://www.wolframalpha.com/input/wpgtrial.jsp' urlcheck = 'http://www.wolframalpha.com/input/check.auth.jsp' dt = 'username':'31u091ycv9dse59n@my10minutemail.com', 'password':'refertg2tt', > headers = 'User-Agent':'Mozilla/5.0 (Windows NT 5.1; rv:27.0) Gecko/20100101 Firefox/27.0' > s = requests.Session() u = s.get(url, headers=headers) dctnr = eval(u.text) url_step2 = dctnr['url'] i = s.post(url_step2, headers=headers, data=dt) y = s.post(furl, headers=headers)# здесь должно быть "нажатие", но пока только страница с кнопкой o = s.get(urlauth, headers=headers)# здесь видно, что авторизация проходит j = s.get(urlcheck, headers=headers)# print(y.status_code) print(y.headers) print(y.text) print(y.history) print(j.text, o.text) 

Что происходит после нажатия на кнопку

Кнопка

Отредактировано Valera_idi_syuda (Ноя. 13, 2015 18:04:35)

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

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