1. 程式人生 > >selenium模擬事件處理

selenium模擬事件處理

執行原理:

呼叫ActionChains的方法時不會立即執行,會將所有的操作按順序存放在一個佇列裡,當呼叫perform()方法時,從佇列中的事件會依次執行。

支援鏈式寫法或者是分佈寫法。

滑鼠鍵盤方法列表:

    perform() 執行鏈中的所有動作

    click(on_element=None) 單擊滑鼠左鍵

    context_click(on_element=None) 單擊滑鼠右鍵

    move_to_element(to_element) 滑鼠移動到某個元素

    ele.send_keys(keys_to_send) 傳送某個詞到當前的焦點元素

—————————————— 不常用的————————————

    click_and_hold(on_element=None) 單擊滑鼠左鍵不鬆開

    release(on_element=None) 在某個元素位置鬆開滑鼠左鍵

    key_down(value, element=None) 按下某個鍵盤上的鍵

    key_up(value, element=None) 鬆開某個鍵

    drag_and_drop(source, target) 拖拽到某個元素然後鬆開

    drag_and_drop_by_offset(source, xoffset, yoffset)  拖拽到某個座標然後鬆開

    move_by_offset(xoffset, yoffset) 滑鼠從當前位置移動到某個座標

    move_to_element_with_offset(to_element, xoffset, yoffset) 移動到距某個元素(左上角座標)多少距離的位置

滑鼠的事件hover選單欄彈出

# -*- coding:UTF-8 -*-
__autor__
= 'zhouli' __date__ = '2018/11/4 22:00' from selenium import webdriver from time import sleep from selenium.webdriver.common.action_chains import ActionChains drive = webdriver.Chrome() drive.get('https://xdclass.net') sleep(2) # 定位滑鼠移動到上面的元素 menu_list = drive.find_element_by_css_selector('#banner_left_ul > a:nth-child(1) > li') ActionChains(drive).move_to_element(menu_list).perform() # 對定位到的元素選中吧子選單 sub_menu_list = drive.find_element_by_css_selector('#active > div.des_top > div.des_one > div.des_text > a:nth-child(1)') sleep(3) sub_menu_list.click()