Python selenium的webdriver之滑鼠懸停
阿新 • • 發佈:2019-01-21
#coding=UTF-8 from selenium import webdriver import time from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Firefox() driver.get(r"http://www.baidu.com/") # 對定位到的元素進行懸停操作(百度首頁用link定位到的設定位置不對) # attrible = driver.find_element_by_link_text("設定") elem = driver.find_element_by_id('u1') attrible = elem.find_element_by_class_name('pf') ActionChains(driver).move_to_element(attrible).perform() print(attrible) time.sleep(10) attrible = driver.find_element_by_class_name('setpref') ActionChains(driver).click(attrible).perform() print(attrible) time.sleep(10) driver.refresh() driver.close()
以百度首頁的設定為例:
定位到設定元素的位置,使用
move_to_element
此時在定位setpref元素就不會報錯說找不到了。
注意這裡的點選需要也使用ActionChains的click方法。
能不能直接在find後加click()主要看元素屬性。
滑鼠的常用方法總結:
click(on_element=None) ——單擊滑鼠左鍵
click_and_hold(on_element=None) ——點選滑鼠左鍵,不鬆開
context_click(on_element=None) ——點選滑鼠右鍵
double_click(on_element=None) ——雙擊滑鼠左鍵
drag_and_drop(source, target) ——拖拽到某個元素然後鬆開
drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某個座標然後鬆開
key_down(value, element=None) ——按下某個鍵盤上的鍵
key_up(value, element=None) ——鬆開某個鍵
move_by_offset(xoffset, yoffset) ——滑鼠從當前位置移動到某個座標
move_to_element(to_element) ——滑鼠移動到某個元素
move_to_element_with_offset(to_element, xoffset, yoffset) ——移動到距某個元素(左上角座標)多少距離的位置
perform() ——執行鏈中的所有動作
release(on_element=None) ——在某個元素位置鬆開滑鼠左鍵
send_keys(*keys_to_send) ——傳送某個鍵到當前焦點的元素
send_keys_to_element(element, *keys_to_send) ——傳送某個鍵到指定元素