selenium模擬事件處理
阿新 • • 發佈:2018-11-04
執行原理:
呼叫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()