КАК ОБРАЩАТЬСЯ С ВЗАИМОДЕЙСТВИЕМ С МЫШЬЮ И КЛАВИАТУРОЙ В SELENIUM PYTHON

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

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

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

Синтаксис с очередностью действий.< table class=crayon-table>

1234

acts = ActionChains (драйвер)acts.move_to_element ( m)acts.click (h)acts.perform ()

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

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 ()

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

12345678910111213141516171819202122

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

Реализация кода для действия по щелчку правой кнопкой мыши. webkit-размер вкладки: 4; размер вкладки: 4; размер шрифта: 12 пикселей! важно; высота строки: 15 пикселей! важно># импортируем webdriver из selenium import webdriver # импортируем ActionChains из selenium.webdriver import ActionChains # импортируем класс Keys из selenium.webdriver.common import keys driver = webdriver.Chrome (executable_path="C:\chromedriver.exe& #34;) # получить метод для запуска URL driver.get ("http://swisnl.github.io/jQuery-contextMenu/demo.html") # для идентификации элемента s = driver.find_element_by_css_selector (".context-menu-one") # Создание объекта цепочки действий act = ActionChains(driver) # для выполнения правого щелчка по элементу act.context_click (s) # для выполнения действия 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(“http://swisnl.github.io/jQuery-contextMenu/demo.html”)# для идентификации элементов = driver.find_element_by_css_selector(“.context-menu-one”)# Создание объекта цепочки действийact = ActionChains(driver)# для выполнения правого клика по elementact.context_click(s)# выполнить actionact.perform()# для закрытия browserdriver.quit()

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

1234567891011121314151617181920

#  импортировать веб-драйвер из selenium import webdriver#  импортировать ActionChainsиз selenium.webdriver import ActionChains# импортировать класс Keys из selenium.webdriver.common import keysdriver = webdriver.Chrome (executable_path=”C:\chromedriver.exe”)# получить метод для запуска URLdriver.get (“http://api.jquery.com/dblclick/”)driver.switch_to.frame(0)# для идентификации элементов = driver.find_element_by_css_selector(“html>body>div”)# объект цепочки действий createact = ActionChains(driver)# для выполнения двойного щелчка по элементуРеализация кода для действия щелчка. размер вкладки: 4; размер вкладки: 4; размер шрифта: 12 пикселей! важно; высота строки: 15 пикселей! важно># импортируем 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") # для идентификации элемента s = driver.find_element_by_link_text("Blog&#34 😉 # Создание объекта цепочки действий act = ActionChains(driver) # выполнить щелчок по элементу act.click(s) # выполнить действие 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”)# для идентификации элементов = driver.find_element_by_link_text (“Блог”)# Создание объекта Action Chainact = ActionChains(driver)# для выполнения щелчка по elementact.click ( s)# выполнить actionact.perform ()# для закрытия браузераdriver.quit ()

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

12345678910111213141516171819202122232425

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

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