首页 > 其他分享 >selenium - 鼠标悬停点击

selenium - 鼠标悬停点击

时间:2023-08-29 11:45:21浏览次数:41  
标签:鼠标 selenium driver element 点击 鼠标悬停 sleep

前言:

常见一些网页都是带有类似下图,当鼠标悬停在隐藏文本内容上时,显示所有内容。例如:我要点击“搜索设置”,先得把鼠标放在‘设置上’

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

 

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

 

一、处理方案:

Selenium 提供了 ActionChains 模块来处理鼠标操作。

鼠标的操作有:悬停双击右击等。

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

 

二、实操:

就以百度为例

# coding:utf-8

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


driver  = webdriver.Chrome()    #驱动
driver.get('https://www.baidu.com')
sleep(1)
driver.maximize_window()    #最大窗口化
sleep(1)
set_up=driver.find_element_by_xpath('//*[@id="s-usersetting-top"]')
ActionChains(driver).move_to_element(set_up).perform()
sleep(1)
advanced_search=driver.find_element_by_xpath('//*[@id="s-user-setting-menu"]/div/a[1]/span')
advanced_search.click()

 

 

再看一下某社区的例子:

 

 

 

tips:如果Chrome老是自动更新版本,你的驱动版本也得更新

 

标签:鼠标,selenium,driver,element,点击,鼠标悬停,sleep
From: https://www.cnblogs.com/xiaolintongxue1/p/17664339.html

相关文章

  • WPF设置传参、点击按钮改变长度
    前台代码<!--通过传递ElementName--><Buttonx:Name="btn1"Width="200"Height="27"Command="{BindingCommand}"CommandParameter="{BindingElementName=btn1}"/><!--......
  • python+selenium+pytest-(5)_yaml文件
    导包importyamlelement.yamllogin:safe:'#element'link:'#element'user:['#element','user1','user2','user3']password:['#element','pw']auth_code:'element......
  • 去掉IE和Firefox点击链接时的焦点虚线框
    当你把链接定义成一个漂亮的触发按钮时,它不再需要按下时简陋的虚线框来帮助识别了,即碍眼又破坏设计的美感,这时就该干掉虚线框!IE里需要在 a 标签中加入 hidefocus=”true” 属性:<a href=”” hidefocus=”true” title=””>siteface</a>而在Firefox等浏览器中定义CSS:a { o......
  • React加载组件后自动触发某函数,而不需要点击按钮
    问题在项目中使用了ReactToPrint来实现打印,但是trigger属性中的按钮需要点击才能执行打印。期望能在组件加载完成时自动执行打印方法。解决可在组件加载完成时,通过id获取组件,并执行该组件的click方法。代码如下:importReact,{useRef,useEffect}from'react';//.........
  • 微信小程序 type="nickname" 点击后,获取不到最新值
    在uniapp开发微信小程序,或是使用小程序开发平台开发,会涉及到获取用户的头像和昵称,而在最新的微信小程序基础库,getUserInfo等不能在获取这些信息,官方推荐使用头像昵称填写能力(基础库2.21.2版本开始支持,覆盖iOS与安卓微信8.0.16以上版本),下面讲讲我在使用过程中遇到的问题。<bu......
  • 零基础学会用Airtest-Selenium对Firefox进行自动化测试
    1.前言本文将详细介绍如何使用AirtestIDE驱动Firefox测试,以及脱离AirtestIDE怎么驱动Firefox(VScode为例)。看完本文零基础小白也能学会Firefox浏览器自动化测试!!!2.如何使用AirtestIDE驱动Firefox浏览器对于Web自动化测试,目前AirtestIDE支持chrome浏览器和Firefox2种浏览器,关于......
  • 用Python制作一个自动点击器,三种模块都可以
    顾名思义,Python中的自动点击器是一个简单的Python应用程序,可以按照用户的要求重复点击鼠标。不同的参数,如速度、频率和位置,可以根据用户的要求进行改变。Python有不同的模块可用于控制键盘、鼠标等设备。因此,我们可以使用这些模块在Python中轻松创建一个自动点击器。本教程将展......
  • 数据窗口单元格中输入值后直接保存时提示未输入,需要点击两次才能保存,这是输入值没有按
    解决办法:在保存事件起始位置判断IFdw_1.AcceptText()=-1ordw_2.AcceptText()=-1ThenReturn-1//将控件内容置于系统缓存区IFdw_1.of_updatespending()+dw_2.of_updatespending()=0thenReturn0//两个数据窗口没改变直接退出(改变时=1) ......
  • 一个随鼠标点击移动的小球
    一个随鼠标点击移动的小球<p>随便点击某处来移动球</p><divid="foo"class="ball"></div>constf=document.getElementById("foo");document.addEventListener("click",(ev)=>{f.style.transform=`transl......
  • selenium自动化常用
    selenium使用:1、导入selenium模块2、启动浏览器driver=webdriver.chrome()driver.get('www.baidu.com')3、页面刷新driver.refresh()4、页面后退前进,driver.back(),driver.forward()5、设置窗口大小,driver,set_window_size(540,960)6、将浏览器窗口最大化,driver.maximiz......