В предыдущих статьях по Selenium Python Tutorial мы рассмотрели «Как обращаться с дочерними окнами, фреймами и предупреждениями в Selenium Python». В этом руководстве мы изучим, как обрабатывать взаимодействие с мышью и клавиатурой в Selenium Python.
Движения мыши и клавиатуры можно моделировать с помощью Selenium WebDriver. Такие действия, как двойной щелчок, щелчок правой кнопкой мыши, движение мыши, нажатие клавиши, подключение кнопки мыши, наведение и перетаскивание и т. д., выполняются с помощью класса ActionChains в Selenium.
Пока мы используем методы ActionChains объект, все действия хранятся в очереди. После выполнения метода execute() все действия запускаются одно за другим в последовательности. Действия можно ставить в очередь одно за другим или в цепочке.
Синтаксис с очередностью действий.< table class=crayon-table>
Синтаксис с цепочкой действий.
1 | acts = ActionChains(драйвер). перейти_к_элементу (м). click (h).perform () |
Давайте посмотрим на некоторые методы действий мыши в ActionChains:
click (args)– Этот метод должен щелкнуть веб-элемент. Аргумент args — это веб-элемент, по которому нужно щелкнуть. Если параметр метода игнорируется, то выполняется щелчок по текущей позиции мыши.
click_and_hold (аргументы) — этот метод должен щелкнуть по текущей позиции мыши, не отпуская ее. Аргумент args — это веб-элемент, на который нужно нажать мышью. Если параметр метода игнорируется, выполняется щелчок по текущей позиции мыши.
double_click (args)– Этот метод должен дважды щелкнуть веб-элемент. Аргумент args — это веб-элемент, по которому нужно дважды щелкнуть. Если параметр метода игнорируется, выполняется двойной щелчок по текущей позиции мыши.
context_click (args) — этот метод должен щелкнуть правой кнопкой мыши веб-элемент. Аргумент args — это веб-элемент, по которому нужно щелкнуть правой кнопкой мыши. Если параметр метода игнорируется, то выполняется щелчок правой кнопкой мыши по текущей позиции мыши.
drag_and_drop (s, d)– Этот метод используется для удерживания мыши от элемента в источнике, затем перемещения к целевому элементу и, наконец, отпускания мыши. Аргумент s относится к расположению исходного элемента, на который нужно навести указатель мыши, а аргумент d указывает на расположение целевого элемента, на который следует навести указатель мыши.
drag_and_drop_by_offset (s, offsetX, offsetY)– Этот метод используется для удерживания мыши от элемента в источнике, затем перемещения к смещению целевого элемента и, наконец, отпускания мыши. Аргумент s относится к расположению исходного элемента, на который нужно навести курсор мыши. Аргумент offsetX относится к смещению по оси X, к которому нужно перейти. Аргумент offsetY относится к смещению Y, к которому нужно перейти.
move_to_element (args) – этот метод используется для перемещения к середине веб-элемента. args — это веб-элемент, в который нужно переместиться.
выпуск (args)– Этот метод используется для отпускания удерживаемой кнопки мыши на веб-элементе. Аргумент args — это веб-элемент, на который нужно навести курсор мыши. Если параметр метода игнорируется, текущая позиция мыши освобождается.
Давайте рассмотрим некоторые методы клавиатуры в разделе ActionChains:
send_keys (клавиши) – Этот метод используется для отправки ключей текущему активному элементу. Ключи аргументов — это ключи для отправки. Клавиши-модификаторы доступны в классе Keys.
key_down (v, args)– Этот метод используется для нажатия клавиши без ее отпускания. Этот метод можно использовать только с клавишами-модификаторами Control, Alt и Shift. Аргумент v — это ключ-модификатор, доступный в классе Keys. Аргумент args — это веб-элемент для отправки ключей. Если этот параметр метода игнорируется, он отправляет ключи текущему активному элементу.
key_up (v, args) — этот метод используется для освобождения клавиши-модификатора. Аргумент v — это ключ-модификатор, доступный в классе Keys. Аргумент args — это веб-элемент для отправки ключей. Если этот параметр метода игнорируется, он отправляет ключи текущему активному элементу.
Реализация кода для действия при наведении курсора мыши. -размер вкладки:4;размер вкладки:4;размер шрифта:12px!важно;высота строки:15px!важно># импортируем webdriver из selenium import webdriver # импортируем ActionChains из selenium.webdriver import ActionChains # импортируем класс Keys из selenium.webdriver.common import keys driver = webdriver.Chrome (executable_path="C:\chromedriver.exe& #34;) # get метод для запуска URL driver.get("https://www.softwaretestingmaterial.com/") # для идентификации элемента l = driver.find_element_by_link_name("Blog& #34;) # Создание объекта цепочки действий act = ActionChains(driver) # переход к середине элемента act.move_to_element (l) # выполнение действия act.perform () # закрытие браузера driver.quit ()
12345678910111213141516171819 | # импортировать веб-драйвер из selenium import webdriver# импортировать ActionChainsиз selenium.webdriver import ActionChains# импортировать класс Keys из selenium.webdriver.common import keysdriver = webdriver.Chrome (executable_path=”C:\chromedriver.exe”)# получить метод для запуска URLdriver.get(“https://www.softwaretestingmaterial.com/”)# для идентификации elementl = driver.find_element_by_link_name (“Blog”)# Создание объекта Action Chainact = ActionChains(driver)# в середину elementact. move_to_element (l)# выполнить действие actionact.perform ()#, чтобы закрыть browserdriver.quit () |
Реализация кода для действия перетаскивания.