selenium+java初级学习笔记之frame情况下的元素定位
上一篇 /
下一篇 2017-08-23 16:12:46
/ 个人分类:selenium
我们在定位元素时,一般都是使用八大定位方式这种常规的方式进行单个定位或者层级等位等方式进行元素定位;那么在运行时,时常会报nosuchelementexception这样的错误。
我们一般情况下会先查看是否是我们元素定位复制粘贴是出现了纰漏,确定无误后;
我们再考虑是否是因为程序运行太快而导致元素找不到,我们尝试让程序sleep1到2秒;
如果还是出现异常,那我们就要考虑元素中有frame或者iframe的存在。
若有frame,我们则需要进入到frame当中进行元素的定位。
首先我们可以数frame的个数,和对应的frame进行定位。
driver.switchTo().frame(Int index);//index为frame的序号,从0开始
如果frame中有id或者name存在,我们则可以使用这些元素进行定位。
driver.switchTo().frame(String nameOrId);//nameOrId为frame的ID或者Name属性
只要进入到frame中,定位元素时就和平时没什么区别,主要需要注意frame的个数,是否进入到了正确的frame中去。
driver.switchTo().parentFrame();//–高版本selenium可用
如果我们需要定位frame之外的元素,那么我们就需要跳出frame,对其他元素进行定位。如果还有其他frame这上面的方式相同,需要先进入到frame中,在进行元素定位。如果没有frame,则在跳出之后直接进行元素定位即可。
driver.switchTo().defaultContent();//切换回默认
收藏
举报
TAG: