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

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

  • автор:

Как эмулировать нажатии кнопки на сайте на Python

Как можно с помощью питона на нее «нажать» и получить страницу которая должна прилететь?

Ответы:
смотрите что делает rm_h.goNext(true);

RPI.su — самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected] . Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.

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

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

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

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

Урок 3.3. Нажми на кнопку.

В рамках данного урока вы научитесь использовать функцию, с помощью которой можно завершить цикл при нажатии на кнопку. Эта функция доступна в языке TI-Nspire, поэтому для программирования на Python вам придется подгружать один или несколько специальных модулей.

Вы научитесь:

  • Использовать функцию get_key() для завершения цикла
  • Работать со степенями чисел 2 и 1/2
  • Использовать функцию sleep(n) для приостановки выполнения кода на n секунд

Так как вы уже умеете работать с циклом оператора while, давайте попробуем использовать эффективную и интересную функцию системы TI-Nspire Python — get_key(). Вам необходимо написать программу, которая будет последовательно отображать степени числа 2 (например, 2, 4, 8, 16, 32, 64. ), и этот процесс будет продолжаться до тех пор, пока пользователь не нажмет на кнопку esc.

Примечание для учителя: функция get_key() включена в модуль ti_system. Она очень часто используется при работе с программами рисования и построения графиков (мы об этом расскажем в последующих уроках) и программами для микроконтроллера TI-Innovator™ Hub (об этом устройстве в данном курсе рассказано не будет).
Выражение from ti_system import get_key позволяет использовать данную функцию в любой программе. В этом модуле есть много других функций. Для дополнительной информации можете ознакомиться с документацией на сайте.
Операторы get_key() или get_key(0) проверяют, нажата ли определенная кнопка, при этом выполнение программы не прекращается.
Функция get_key(1) приостанавливает программу и ожидает нажатия на соответствующую кнопку.

1. Сначала создайте новую программу Python и выберите ее тип — «Пустая программа» (blank program). Назовите ее powers_of_2.

2. Используйте меню: menu > More Modules > TI System, чтобы вставить следующее выражение:

from ti_system import *

Его можно найти вверху списка.

В том же самом меню выберите следующее выражение:

while get_key() != «esc»:

block

3. Теперь вставьте переменную num = 2 непосредственно перед выражением while.

4. В блоке цикла (block) добавьте функцию ввода числа print и оператор присваивания, который будет умножать число на 2. Не забудьте структурировать свои операторы.

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

Примечание для учителя: Для этого используются выражения num=num*2 или num*=2.

5. Вот, что должно получиться.

while get_key() != «esc»:

print(num)

num = num * 2

Запустите программу и нажмите на кнопку esc, если нужно ее остановить.

6. Вычисление будет происходить очень быстро!

Обратите внимание на две интересные особенности Python:

  • Программы работают действительно быстро, и нет верхнего предела для целых чисел.
  • Однако пользователь все же ограничен объемом памяти компьютера.

Ваша следующая задача — приостановить процесс вычисления, чтобы удобно было следить за числами.

7. Для этого вам понадобится функция sleep(), ее можно найти в модуле Python, который называется time.

Вверху своей программы добавьте следующее выражение:

from time import sleep

его можно найти в меню: menu > More Modules > Time, пункт time будет сверху.

8. Под выражением num = num * 2 добавьте следующий оператор:

sleep(1)

все это находится в блоке оператора while (и все три выражения в нем необходимо структурировать).

Снова запустите программу. На этот раз после того, как будет отображаться каждое число, компьютер будет останавливаться (и ждать) на одну секунду, а потом продолжит выполнять последовательность цикла. Можете изменить время паузы в выражении sleep, чтобы процесс шел немного быстрее. Снова нажмите esc, чтобы завершить выполнение программы. Попробуйте вписать и другие значения для оператора sleep(), чтобы изменять время отображения.

В конце программы напишите Done (Выполнено).

9. Замените каждую 2 в программе на 0.5.

  • Что произойдет?
  • Попробуйте ввести и другие цифры.
  • В каких случаях числа увеличиваются, а в каких уменьшаются?
  • Что вы можете сказать об отрицательных числах?
  • Имеет ли смысл подставлять 0 или 1 вместо 2?

А теперь попробуйте сделать следующее: замените выражение num = num * 2 на num *= 2.

Данная операция быстрого ввода выполняет то же самое действие и доступна для работы со многими другими математическими операторами.

Примечание для учителя: Функции get_key() и sleep() являются дополнительными в программировании на языке Python, и этим они делают процесс работы разнообразнее и интереснее. Модуль time — это стандартный модуль Python, в котором содержатся и другие функции, связанные с управлением временем операций. Модуль ti_system является модулем Texas Instruments, он создан для работы только с операционной системой TI-Nspire CX II-Т.

Как нажать на кнопку на сайте через 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. В вашем распоряжении есть большая документация.

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

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