模擬鼠標操作(ActionChains):
鼠標懸浮操作,方法如下:
move_to_element (element) : 鼠標移動(懸浮)到某個元素之上
element,要懸浮的元素
-----------------------------------------------------------
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
driver = webdriver.Chrome()
driver.get("https://www.taobao.com/") # 模擬鼠標操作-鼠標懸浮菜單-淘寶網首頁地區選擇
sleep(1)
# 獲取要懸浮的元素,並使用move_to_element()方法
element_list = driver.find_element_by_xpath('//*[@id="J_SiteNavBdL"]/li[1]/div[1]/span[1]')
ActionChains(driver).move_to_element(element_list).perform()
sleep(1)
# 懸浮元素出現菜單後,可以點擊懸浮菜單裏的元素了,這裏選擇“全球”
driver.find_element_by_css_selector('#J_SiteNavRegionList > li:nth-child(1)').click()
ActionChains的其他操作:右擊、雙擊、結合鍵盤按鍵的操作方法等
context_click(element):
右擊element元素
double_click(element):
雙擊element元素
move_by_offset(xoffset,yoffset):
移動鼠標到指定的x,y位置(相對於瀏覽器的絕對位置)
move_to_element_with_offset(element, xoffset, yoffset):
相對element元素,移動鼠標到指定的x,y位置(相對於element元素的相對位置)
click_and_hold(element1=None):
在element1元素上按下鼠標左鍵,並保持按下動作(元素默認爲空)
release(element2=None):
在element2元素上鬆開鼠標左鍵(元素默認爲空)
key_down(key , element1=None):
在element1元素上,按下指定的鍵盤key(ctrl、shift等)鍵,並保持按下動作(元素默認爲空)
key_up(key , element2=None):
在element2元素上,鬆開指定的鍵盤key(元素默認爲空)
send_keys(key):
向當前定位元素髮送某個key鍵
send_keys_to_element(element ,key):
向element元素髮送某個key鍵