鼠标操作。封装在ActionChains中
-move_to_element
-double_click 双击
-context_click right_click 右键
-drag_and_drop 鼠标拖拽
-click 单击

鼠标悬浮操作

操作–在百度页面中找高级搜索
虽然在html中能找到高级搜索,但是并不一定在页面中能找到高级搜索
操作步骤为,先点击设置—-再点击高级搜索

第一种方法 — 点击

#定位设置标签
setting_el=driver.find_element_by_xpath(’//span[@id=“s-usersetting-top”]’)
setting_el.click()
#再定位到高级设置标签
top_setting_el=driver.find_element_by_xpath(’//a[text()=“高级搜索”]’)
top_setting_el.click()

第二种方法 –鼠标悬停

用法基本是固定的—-封装

1、初始化一个action_chains对象
action=ActionChains(driver)
2、找到要悬浮的元素,
setting_el=driver.find_element_by_xpath(’//span[@id=“s-usersetting-top”]’) —–> 设置
3、调用鼠标操作的函数,传入move_to_element()函数中
action.move_to_element(setting_el)
4、要让动作生效的话,必须加上perform
action.move_to_element(setting_el).perform()
5、再定位到高级设置标签
top_setting_el=driver.find_element_by_xpath(’//a[text()=“高级搜索”]’)
top_setting_el.click()

封装:

def move_to(locator):action=ActionChains(driver)action.move_to_element(settings_el).perform()
move_to(setting_el=driver.find_element_by_xpath('//span[@id="s-usersetting-top"]'))

封装成线性等待

def move_to(locator):action=ActionChains(driver)wait=WebDriverWait(driver,20).wait.until(expected_conditions.visibility_of_element_located(loactor)action.move_to_element(el).perform()move_to(loactor=('xpath','//span[@id="s-usersetting-top"]'))

双击:double_click

def double_click(el)action=ActionChains(driver)action.double_click(el)action.perform()
double_click(el)

鼠标拖拽:drag_and_drop

def drag_and_drop(el1,el2)action=ActionChains(driver)action.drag_and_drop(el1,el2)action.proform()
drag_and_drop(el1,el2)

自动化测试之鼠标悬浮操作、双击、鼠标拖拽-编程知识网《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读