selenium - 鼠标悬停操作

前言:

当鼠标悬停在隐藏文本内容上时,显示所有内容。

场景案例:

百度首页,要选择‘高级搜索’,先得把鼠标放在‘设置上’

F12 - 在页面中搜索‘高级搜索’,找到‘高级搜索’文本,鼠标放到‘设置’上,display的值变为 block;鼠标不放上去之前是 none,即不可见元素。

隐藏的元素操作,会出现报错:ElementNotInteractableException: Message: element not interactable --- 元素不可交互


处理方案:

Selenium 提供了 ActionChains 模块来处理鼠标操作。
鼠标的操作有:悬停、双击和右击等。

move_to_element():移动到元素上
double_click():      双击
context_click():    右击
perform():        执行前面的动作

操作:

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
driver.maximize_window()


sleep(2)
# 鼠标悬停,把鼠标放在‘设置’按钮上
el=driver.find_element_by_xpath("//*[@id='s-usersetting-top']")
ActionChains(driver).move_to_element(el).perform()
sleep(2)
# 点击高级搜索
driver.find_element_by_xpath("//*[@id='s-user-setting-menu']/div/a[2]/span").click()

sleep(5)



在看一下豆瓣的例子:


from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Chrome()
# driver.get('https://www.baidu.com')
driver.get('https://movie.douban.com/top250')
driver.maximize_window()


sleep(2)
#鼠标悬停
el=driver.find_element_by_xpath('//*[@id="db-global-nav"]/div/div[2]/a')
ActionChains(driver).move_to_element(el).perform()

相关文章

转载地址:https://www.cnblogs.com/mini-monkey/p/12104821...
web自动化测试过程中页面截图相对比较简单,可以直接使用sel...
目录前言一、Selenium简介二、浏览器驱动1.浏览器驱动参考2....
一、iframe的含义:iframe是HTML中框架的一种形式,在对界面...
转载请注明出处❤️作者:测试蔡坨坨原文链接:caituotuo.to...
'''##**认识selenium**​**下载:pipinstall...