atesting.ru Блог Как обрабатывать взаимодействие с мышью и клавиатурой в Selenium Python

Как обрабатывать взаимодействие с мышью и клавиатурой в Selenium Python

В предыдущих статьях по Selenium Python Tutorial мы рассмотрели «Как обрабатывать дочернее окно, фреймы, предупреждения в Selenium Python». В этом руководстве мы узнаем, Как обращаться с мышью & amp; Взаимодействие с клавиатурой в Selenium Python.

Движение мыши и клавиатуры можно моделировать с помощью Selenium WebDriver. Такие действия, как двойной щелчок, щелчок правой кнопкой мыши, движение мыши, нажатие клавиши, подключение кнопки мыши, наведение, перетаскивание и т. Д. Выполняются с помощью класса ActionChains в Selenium.

Пока мы используем методы объекта ActionChains, все действия хранятся в очереди. После выполнения метода perform () все действия запускаются одно за другим в последовательности. Действия могут быть поставлены в очередь одно за другим или в цепочке.

Синтаксис с постановкой действий в очередь.

1234 actions = ActionChains (driver) plays.move_to_element (m) plays.click (h) act.perform ()

Синтаксис с цепочкой действий.

1 actions = ActionChains (драйвер). move_to_element (м). click (h) .perform ()

Давайте посмотрим на некоторые методы действий мыши в ActionChains:

click (аргументы) — Этот метод должен щелкнуть веб-элемент. Аргумент args — это веб-элемент, по которому нужно щелкнуть. Если параметр метода игнорируется, выполняется щелчок по текущей позиции мыши.

click_and_hold (args) — этот метод должен щелкнуть текущее положение мыши, не отпуская ее. Аргумент 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) — этот метод используется для перемещения к середине веб-элемента. Аргументы — это веб-элемент, в который нужно переместить.

release (args) — этот метод используется для отпускания удерживаемой кнопки мыши на веб-элементе. Аргумент args — это веб-элемент, на который нужно навести курсор мыши. Если параметр метода игнорируется, текущая позиция мыши освобождается.

Давайте посмотрим на некоторые методы клавиатуры в ActionChains:

send_keys (keys) — этот метод используется для отправки ключей текущему активному элементу. Ключи аргументов — это ключи для отправки. Ключи-модификаторы доступны в классе Keys.

key_down (v, args) — Этот метод используется для нажатия клавиши, не отпуская ее. Этот метод можно использовать только с клавишами-модификаторами Control, Alt и Shift. Аргумент v — это ключ-модификатор, доступный из класса Keys. Аргумент args — это веб-элемент для отправки ключей. Если этот параметр метода игнорируется, он отправляет ключи текущему активному элементу.

key_up (v, args) — этот метод используется для освобождения клавиши-модификатора. Аргумент v — это ключ-модификатор, доступный из класса Keys. Аргумент args — это веб-элемент для отправки ключей. Если этот параметр метода игнорируется, он отправляет ключи текущему активному элементу.

Реализация кода для действия при наведении курсора мыши.

12345678910111213141516171819 # Импортировать webdriver из selenium import webdriver # импортировать ActionChains из selenium.webdriver import ActionChains # импортировать класс Keys из selenium.webdriver.common import keysdriver = webdriver.Chrome (executable_path = & # 34; C: \ chromedriver.exe & # 34 # get метод для запуска URLdriver.get (& # 34; https: //www.softwaretestingmaterial.com/") # для идентификации elementl = driver.find_element_by_link_name (& # 34; Blog & # 34;) # Действие Создание объекта цепочек/table>

Реализация кода для действия перетаскивания.

< tr class = "crayon-row">

12345678910111213141516171819202122 # Импортировать webdriver из selenium import webdriver # импортировать ActionChains из selenium.webdriver import ActionChains # импортировать класс Keys из selenium.webdriver.common import keysdriver = webdriver.Chrome (executable_path = & # 34; C: \ chromedriver.exe & # 34 # get метод для запуска URLdriver.get (& # 34; http: //jqueryui.com/droppable/") driver.switch_to.frame (0) # для идентификации исходных элементов = driver.find_element_by_css_selector (& # 34; # draggable & # 34;) # для идентификации целевого elementt = driver.find_element_by_css_selector (& # 34; # droppable & # 34;) # Создание объекта Action Chainsact = ActionChains (driver) # для выполнения перетаскивания elementact.drag_and_drop ( s, t) # выполнить actionact.perform () #, чтобы закрыть browserdriver.quit ()

Реализация кода для действия щелчка правой кнопкой мыши.

12345678910111213141516171819 # Импортировать webdriver из selenium import webdriver # импортировать ActionChains из selenium.webdriver import ActionChains # импортировать класс Keys из selenium.webdriver.common import keysdriver = webdriver.Chrome (executable_path = & # 34; C: \ chromedriver.exe & # 34 # get метод для запуска URLdriver.get (& # 34; http: //swisnl.github.io/jQuery-contextMenu/demo.html") # для идентификации elements = driver.find_element_by_css_selector (& # 34 ;. context-menu-one & # 34;) # Создание объекта Action Chainsact = ActionChains (driver) # для выполнения щелчка правой кнопкой мыши по elementact.context_click (s) # выполнить actionact.perform () # для закрытия browserdriver.quit ()

Реализация кода для действия двойного щелчка.

1234567891011121314151617181920 # Импортировать webdriver из selenium import webdriver # импортировать ActionChains из selenium.webdriver import ActionChains # импортировать класс Keys из selenium.webdriver.common import keysdriver = webdriver.Chrome (executable_path = & # 34; C: \ chromedriver.exe & # 34 # get метод для запуска URLdriver.get (& # 34; http: //api.jquery.com/dblclick/") driver.switch_to.frame (0) # для идентификации elements = driver.find_element_by_css_selector (& # 34; html & gt; body & gt; div & # 34;) # Создание объекта цепочки действийact = ActionChains (driver) # для выполнения двойного щелчка по elementact.double_click (s) # выполнение actionact.perform () # для закрытия браузераdriver.quit ( )

Реализация кода для действия щелчка.

12345678910111213141516171819 # Импортировать webdriver из selenium import webdriver # импортировать ActionChains из selenium.webdriver import ActionChains # импортировать класс Keys из selenium.webdriver.common import keysdriver = webdriver.Chrome (executable_path = & # 34; C: \ chromedriver.exe & # 34 # get метод для запуска URLdriver.get (& # 34; https: //www.softwaretestingmaterial.com") # для идентификации elements = driver.find_element_by_link_text (& # 34; Blog & # 34;) # объект Action Chains creationact = ActionChains (driver) # для выполнения щелчка по elementact.click (s) # для выполнения actionact.perform () # для закрытия браузераdriver.quit ()

Реализация кода для клавиш вверх и вниз.

12345678910111213141516171819202122232425 # импортировать веб-драйвер из selenium import webdriver # импортировать ActionChains из selenium.webdriver import Action класс Keys из selenium.webdriver.common import keysdriver = webdriver.Chrome (executable_path = & # 34; C: \ chromedriver.exe & # 34;) # get метод для запуска URLdriver.get (& # 34; https: //www.softwaretestingmaterial.com & # 34;) # для идентификации elements = driver.find_element_by_css_selector (& # 34; # form-field-name & # 34;) # Создание объекта Action Chainsact = ActionChains (driver) # для выполнения щелчка по элементу. click (s) # чтобы нажать SHIFT keyact.key_down (Keys.SHIFT) # чтобы отправить ключи на элементact.send_keys (& # 34; Python & # 34;) # чтобы отпустить SHIFT keyact.key_up (Keys.SHIFT) # выполнить queued actionsact.perform () # закрыть browserdriver.quit ()

В следующей статье мы изучим Утверждения в Selenium Python

TAG: qa

верхнийВернуться к началу