Selenium操作示例——鼠标悬停显示二级菜单,再点击二级菜单或下拉列表

摘要:
这两天在python中玩selenium时,我遇到了一个问题,那就是鼠标移动到页面上的一个按钮或菜单,二级菜单或下拉菜单自动弹出,然后二级菜单或者下拉列表自动点击。

这两天在玩python中selenium,遇到一个问题,就是鼠标移动到页面中某按钮或菜单,自动弹出二级菜单或下拉菜单,再自动点击其中的二级菜单或下拉列表。

首先,手工操作:打开母校的主页 http://www.uestc.edu.cn/,将鼠标移动到“学校概括”,自动弹出二级菜单,手工点击其中的“学校简介”,弹出学校的简介。

如何在python中使用selenium自动实现?

# encoding=utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
 
browser = webdriver.Chrome('E:\chromedriver.exe')
browser.maximize_window()
browser.get('http://www.uestc.edu.cn/')
# 方法一:使用find_element_by_link_text找到顶级菜单,并将鼠标移动到上面
article = browser.find_element_by_link_text(u'学校概况')
ActionChains(browser).move_to_element(article).perform()
# 方法二:使用find_element_by_xpath找到顶级菜单,并将鼠标移动到上面
# article = browser.find_element_by_xpath('//a[contains(@href,"?ch/3")]')
# ActionChains(browser).move_to_element(article).perform()
# 方法一:使用find_element_by_link_text找到二级菜单,并点击
# menu = browser.find_element_by_link_text(u'学校简介')
# 方法二:使用find_element_by_xpath找到二级菜单,并点击
menu = browser.find_element_by_xpath('//li[@classes="first odd nth1"]')
menu.click()
 

程序说明:

1、本程序使用谷歌浏览器Chrome,需要下载与Chrome版本对应的驱动程序chromedriver.exe

2、使用两种方法,找到顶级菜单,并通过move_to_element()和perform()两个函数实现鼠标悬停

3、使用两种方法,找到二级菜单,并通过click()函数实现点击操作

免责声明:文章转载自《Selenium操作示例——鼠标悬停显示二级菜单,再点击二级菜单或下拉列表》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇uniapp之页面间传递和接收数组如何根据角色批量激活SAP Fiori服务下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PLY文件

PLY多边形文件格式:The PLY Polygon File Format。多边形:Polygon。 每个PLY文件只用于描述一个多边形模型对象,该模型对象(object)可以通过顶点、面等数据元素(element)进行描述。 PLY结构:文件头+元素数据列表。文件头中以行为单位描述文件类型(ply)、格式与版本(format)、注释(comment)、...

webDriver运行过程中遇到的问题

1.org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms.  【原因】:     selenium的版本和firefox的版本不兼容  【解决方法】:        更新seleni...

element ui aside — 侧栏导航菜单移入移出折叠效果

效果如图,移入移出控制折叠,点击按钮后移入移出不可控制折叠。 功能是很简单的功能,不过昨天这块还是弄了小一个小时,所以记录下来。 发现的问题: 模版上el-aside写上@mouseenter无效 解决方案 写成@mouseenter.native 在mounted里操作绑定原生dom事件 template <el-cont...

appium-python-元素定位

appium继承了selenium的所有元素定位方式(web端),并有自己的元素定位方式 # iddriver.find_element_by_id("cn.TuHu.android:id/productslist_text") # classdriver.find_element_by_class_name("android.widget.TextVi...

Appium(八):Appium API(二) 元素等待、元素操作

1. 元素等待 我们在使用脚本的时候,可能会由于网络、服务器处理、电脑等原因,我们想要找的元素没有加载出来,这个时候如果直接定位就可能会报错。 这个时候我们就可以设置元素等待了。 什么叫元素等待呢? 就是WebDriver定位页面元素时如果没有找到,就会在指定时间内一直等待的过程。 元素等待一共分为两种类型:显示等待和隐式等待。 1.1 隐式等待 隐式等待...

Element drawer添加 滚动条 无法上下滚动

/*1.显示滚动条:当内容超出容器的时候,可以拖动:*/ .el-drawer__body { overflow: auto; } /*2.隐藏滚动条,太丑了*/ .el-drawer__container ::-webkit-scrollbar{ display: none; }   ...