标签:webdriver 鼠标 selenium driver element 鼠标悬停 sleep import 操作
前言:
当鼠标悬停在隐藏文本内容上时,显示所有内容。
场景案例:
百度首页,要选择‘高级搜索’,先得把鼠标放在‘设置上’
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()
标签:webdriver,鼠标,selenium,driver,element,鼠标悬停,sleep,import,操作 来源: https://www.cnblogs.com/wwho/p/16609786.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。