В предыдущих статьях по 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 () |
Реализация кода для действия перетаскивания.
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()
Реализация кода для действия по двойному щелчку.
|