模拟鼠标操作(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键