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

17727591462

联系电话

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

web自动化测试过程中的iframe如何处理?

更新时间:2022-07-18 09:12:34 作者:多测师 浏览:43

  我们在做自动化测试过程中经常会遇到控件定位不到的情况,具体抛出的错误信息如下:

  selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"name","selector":"email"}

web自动化测试过程中的iframe如何处理?

  但是,我们来看看页面代码,再看看自己写的代码

  emailName = driver.find_element_by_name('email')

  没错呀,这个错不了的呀,应该肯定能定位到的,那么一般就会有几种原因吧,第一种就是等待时间不够,第二种就是多窗口,第三种肯定就是iframe了。

  我们顺腾模块,往上找会发现,哦,确实有iframe呀。

  那么有iframe怎么处理呢,如果我们的iframe有id或者name的话,并且id或者name的属性值不为空的话,并且id和name的属性值不是动态变化的话,

  我们就可以直接通过如下进行切入到iframe中:

  driver.switch_to.frame('x-URS-iframe')

  如果id或者name是动态的呢,何为动态的呢,比如像如下的id属性值

  id="auto-id-1604073488440"

  这种怎么办?无所谓,随便用一种定位方式先定位到iframe,然后再切入

  dd = driver.find_element_by_xpath("//div[@id='loginDiv']/iframe")

  driver.switch_to.frame(dd)

  emailName = driver.find_element_by_name('email')

  此时就大功告成了。。

  当然如果想从iframe切出来,那么怎么办?

  driver.switch_to.parent_frame( 【编测编学】第一届软件测试挑战赛等你报名参加赢大奖!)#从子frame切回到父frame

  driver.switch_to.default_content()#切回主文档

  以上内容为大家介绍了web自动化测试过程中的iframe如何处理,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部