Selenium+Python如何定位鼠标悬停的元素?

下面以登录百度后,鼠标悬停在个人中心,点击【退出登录】为例。

Selenium+Python如何定位鼠标悬停的元素?

  • 一、环境
  • 二、代码
  • 三、定位鼠标悬停的元素需注意的点
  • 四、其它说明

一、环境

Python3.7 + Pycharm2019 + selenium 3.14.1 + geckodriver 0.26.0
+jdk 8

二、代码

# 导入webdriver包
from selenium import webdriver
# 导入sleep包
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains
# 实例化浏览器,注意此处的Firefox是大写的,小写的会报错。
driver = webdriver.Firefox()
# 打开要访问的地址
driver.get("https://www.baidu.com/")
# 定位元素# 使用id定位登录按钮
login_button = driver.find_element_by_id("s-top-loginbtn")
# 点击登录按钮
login_button.click()
sleep(10)
# 切换用户名登录
sign_up = driver.find_element_by_id("TANGRAM__PSP_11__footerULoginBtn")
sign_up.click()
# 使用id定位用户名输入框
username = driver.find_element_by_id("TANGRAM__PSP_11__userName")
# 输入用户名,此处需更改为你自己的账号
username.send_keys("15******73")
# 使用id定位密码输入框
password = driver.find_element_by_id("TANGRAM__PSP_11__password")
# 输入密码,此处需更改为你自己的密码
password.send_keys("****02")
# 使用id定位登录输入框
login_submit = driver.find_element_by_id("TANGRAM__PSP_11__submit")
# 点击登录按钮
login_submit.click()
sleep(5)
#。。。。从以下开始是实现鼠标悬停在个人中心,然后点击【退出登录】。。。。。
# 首先定位个人中心所在的div
element = driver.find_element_by_id("u1")
# 再通过class_name找到个人中心
attribute = element.find_element_by_id("s-top-username")
sleep(3)
# 使用move_to_element将鼠标悬停在找到的个人中心上,.perform()是调用action里面的方法,调用控件,会出现下拉选项
ActionChains(driver).move_to_element(attribute).perform()
print(attribute)
sleep(5)# 对定位到的元素“退出登录”点击操作
logout_button = driver.find_element_by_class_name("quit")
#此处同样需要使用ActionChains的click方法
ActionChains(driver).click(logout_button).perform()
print(logout_button)
sleep(3)
# 。。。。。。。。。到此为止。。。。。。。。。。。。。
# 使用xpath定位【退出】按钮
logout = driver.find_element_by_xpath("/html/body/div/div[2]/div[10]/div[3]/div/div/div[3]/div[1]/span[1]")
# 点击【退出】
logout.click()
sleep(5)
#自动关闭页面
driver.quit()

三、定位鼠标悬停的元素需注意的点

1)需要导入ActionChains包

from selenium.webdriver.common.action_chains import ActionChains

2)定位到元素后,调用ActionChains的move_to_element().perform()

ActionChains(driver).move_to_element(attribute).perform()

3)悬停后,有下拉选项,需点击其中的一项,需使用ActionChains的click方法

ActionChains(driver).click(logout_button).perform()

四、其它说明

1)要使用sleep(sec)方法,需先导包

from time import sleep

2)quit() 方法可以关闭浏览器,不然做完自动化测试后,桌面会有很多个浏览器窗口。

driver.quit()

Selenium+Python如何定位鼠标悬停的元素相关推荐

  1. selenium 鼠标悬浮_处理Selenium3+python3定位鼠标悬停才显示的元素

    先给大家介绍下Selenium3+python3--如何定位鼠标悬停才显示的元素 定位鼠标悬停才显示的元素,要引入新模块 # coding:utf-8 from selenium import web ...

  2. 【Python学习之鼠标悬停点击事件】

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.python中的鼠标悬停 二.使用步骤 1.引入库 2.以百度设置为例 前言 `提示:python自动化过程中的鼠 ...

  3. html鼠标悬停出现新元素,CSS:我如何将鼠标悬停在一个元素上,并显示另一个元素?...

    我有一个导航面板,当您将鼠标悬停在灯具 上时,它会显示从主导航面板下拉的面板中的前5个灯具.CSS:我如何将鼠标悬停在一个元素上,并显示另一个元素? 我试图实现这个使用CSS与:hover. 这是:h ...

  4. css中设置图片旋转45度,css 实现缓和变量,鼠标悬停时元素旋转45度动画

    可重复使用的变数transition-timing-function 属性,比内置更强大ease ,ease-in ,ease-out 和ease-in-out . HTML CSS :root { ...

  5. Python Tkinter 按钮鼠标悬停事件显示说明信息设置

    from tkinter import * import Pmw root = Tk() button1 = Button(root, text="ABC") button1.pa ...

  6. python+webdriver学习鼠标键盘事件以及定位元素

    设置浏览器大小:像素点 set_window_size(width,height) maximize_window() 浏览器全屏显示,不带参数 控制浏览器前进.后退: driver.forward( ...

  7. selenium python 一些操作和定位收集

    (-)滚动条操作 python中selenium操作下拉滚动条方法汇总 selenium_webdriver(python)控制浏览器滚动条 selenium+Python(select定位) Sel ...

  8. vue 悬停显示另一个div_CSS或者JS实现鼠标悬停显示另一元素

    想达到鼠标悬停到元素a上,显示另一个元素b,可以通过css实现也可以通过js实现. js: 写两个函数:mouseenter,mouseleave,例如:其中 $("#a").mo ...

  9. Selenium+Python 下载文件与上传文件

    Selenium+Python 下载文件与上传文件 目录 下载文件功能 谷歌浏览器下载设置 切换iframe框架 鼠标悬浮元素定位 鼠标悬浮后出现的元素定位 上传文件 切换句柄 利用AutoIt进行桌 ...

最新文章

  1. 揭秘5G+AI时代的机器人世界!七大核心技术改变人类生活
  2. 第六届全国大学生智能汽车竞赛获奖名单
  3. Chapter11-RMAN Backups
  4. SciPy--数值计算
  5. PowerShell与Unix Shell对比:八大实例
  6. 1270: [BeijingWc2008]雷涛的小猫
  7. qt中生成并读取配置文件Ini
  8. 很喜欢VS.NET 2003对条件编译的代码提示
  9. 软件工程测试旅游管理系统,旅游管理系统的设计与实现
  10. 华为与万达签订5G战略合作协议 推动5G商业场景应用
  11. 【Clickhouse】Clickhouse 表引擎之 Log系列
  12. 【7.9校内test】T1挖地雷
  13. 自学考试c语言真题,自学考试《C语言程序设计》复习试题及答案
  14. MAC终端使用SSH连接远程服务器
  15. Android UI 冻结处理方法
  16. 【深度学习笔记(十)】之物体检测(R-CNN,Fast R-CNN, Faster R-CNN)
  17. 把计算机信息传到电视屏的方法,如何将电脑内容投屏到电视上?当贝市场完整版教程...
  18. R语言绘图基础篇-柱状图
  19. 博途plc连接电脑_西门子博途怎么上载plc程序
  20. Python机器学习与量化交易

热门文章

  1. Unity 客户端简单框架(手游)
  2. 助眠好物分享,睡眠不好的人一定要了解的东西
  3. 【报告分享】2025美妆行业科技应用前瞻报告-36氪研究院(附下载)
  4. js原生代码实现购物车
  5. 【sql】sql必知必会_01
  6. laravel 依赖注入原理理解
  7. Linux之文件系统详解(系统常见目录、磁盘分区、软硬链接)
  8. RT-thread rt_kprintf()函数格式化输出浮点数
  9. html5 css3 渐变,CSS3 渐变 — 径向渐变
  10. PyGame贪吃蛇的实现