Регистрация в WebElement, на которую нажал пользователь - PullRequest
0 голосов
/ 20 февраля 2020

Цель: Запишите все эти указанные c действия: onKeyboardEvent и onMouseEvent, выполненные одним пользователем на определенном веб-сайте. Эта запись включает регистрацию, например, имени кнопки, имени класса этой кнопки и т. Д. Веб-сайта, только когда пользователь нажимает на соответствующую кнопку. Я хочу создать этот регистратор с python.

Пример ожидаемого результата:

Это иллюстративный пример, чтобы понять, что мне нужно:

  • Название события: Мышь Левый щелчок
  • Имя кнопки: Логин
  • Имя класса кнопки: кнопка входа в систему

...

  • Название события: щелчок левой кнопкой мыши
  • Имя кнопки: Далее
  • Имя класса кнопки: следующая кнопка

Опыт работы в python: Начинающий

Python Переводчик: 3,7

Вопрос: Как записать или войти в кнопку название или название класса этой кнопки, когда пользователь нажимает на нее на определенном веб-сайте, который он открыл?

Я проверил Selenium и Python, чтобы достичь своей цели. До сих пор я понимал, что класс прослушивателя Selen Hat и Selenium открывают браузер и запускают прослушивание событий в этом браузере. Однако в моем случае пользователь открывает конкретный веб-сайт в проводнике Chrome, Firefox или Inte rnet, и мне нужна программа в python для записи действий пользователя на этом веб-сайте.

Приведенный ниже код ничего не записывал и не регистрировал. Кроме того, он не подключился к соответствующему браузеру, который открывает пользователь, но прослушивает только сеанс, запущенный Selenium. Кто-нибудь может сказать мне, если я использую правильный подход или мне следует использовать другой, чтобы достичь своей цели?

Большое спасибо за вашу помощь и, пожалуйста, прости меня, если я неправильно использовал какую-либо концепцию.

Python код:

import time
from selenium import webdriver
from selenium.webdriver.support.events import EventFiringWebDriver, AbstractEventListener

class MyListener(AbstractEventListener):
    def before_click(self, element, driver):
        driver.get_attribute("tag")
        print ("Event : before element click()")

    def after_click(self, element, driver):
        print("clicked on %s" %element)

driver = webdriver.Chrome('Webdrivers\Chrome_80\\chromedriver.exe')
driver = EventFiringWebDriver(driver, MyListener())
driver.get("https://google.com")
elem = driver.find_element_by_name("q")
time.sleep(20)
driver.close()

1 Ответ

0 голосов
/ 20 февраля 2020

Selenium - это python инфраструктура для тестирования, вы можете увидеть больше информации, если вы заинтересованы в https://selenium-python.readthedocs.io/

То, что вам нужно (возможно), похоже на подход pyHook : https://pypi.org/project/pyHook/ Используются события мыши и клавиатуры.

Есть еще один модуль с именем pyscreenshot, он может помочь вам контролировать то, что нажимается https://pypi.org/project/pyscreenshot/

С уважением!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...