鼠标悬停时,使用xpath定位页面按钮元素

本文介绍了在开发环境中使用Selenium遇到的挑战:如何定位并点击鼠标悬停后才出现的页面元素。详细讲述了在Firefox中,通过FirePath分析元素,发现鼠标悬停导致上级div class名变化,进而成功编写定位代码解决问题的过程。总结指出在处理此类问题时,应注意观察悬停前后页面元素参数的变化,并利用Firebug等工具辅助定位。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【开发环境&工具】

selenium-server-standalone-2.52.0.jar, JDK1.8, eclipse, Firefox45.2.0

【需求背景】

将鼠标移动到“相册”图表之上,点击图表上出现的删除按钮。



【遇到的问题】

1)将鼠标移动到相册图标上,页面出现删除按钮;

2)右击删除按钮,使用FirePath查看页面元素,如下图:


3)定位并点击元素代码:

		//	定位到删除按钮并点击
		driver.findElement(By.xpath("//div[@class='item'][1]//a[@title='删除']")).click();

结果运行时提示定位不到页面元素。

【分析】

重新分析并检查页面元素,发现鼠标移动到相册上时,上一级的div class name变(如下图),而且,必须是查看HTML的时候,才会动态显示出来,使用firepath查看的时候,页面不是动态显示的,所以看不出来鼠标悬停时,页面元素参数的变化(请对比上图一起看),如下:



改代码,更新新的div class name 如下:

		//	定位到删除按钮并点击
		driver.findElement(By.xpath("//div[@class='item 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值