多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

frame情况下的元素定位-自动化测试

更新时间:2023-01-09 09:21:55 作者:多测师 浏览:35

  我们在定位元素时,一般都是使用八大定位方式这种常规的方式进行单个定位或者层级等位等方式进行元素定位;那么在运行时,时常会报nosuchelementexception这样的错误。

frame情况下的元素定位-自动化测试

  我们一般情况下会先查看是否是我们元素定位复制粘贴是出现了纰漏,确定无误后;

  我们再考虑是否是因为程序运行太快而导致元素找不到,我们尝试让程序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();//切换回默认

  以上内容为大家介绍了自动化测试中frame情况下的元素定位,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部