使用python做Web自动化测试时,常常遇到超时问题,原因之一就是没有切换iframe表单问题导致的
1.1 报错实例
1.2 错误分析
webdriver找不到定位的元素,等待超时;前端页面定位至元素发现,在<body>前面还有<iframe>表单
1.3 错误修复
- 通过iframe的id/name属性切换
# 通过iframe的id/name属性切换 driver.switch_to.frame("tinymce-1722477822617216_ifr")
# 切换回原来表单 driver.switch_to.default_content()
- 通过iframe的元素定位切换
# 找到iframe的元素定位
iframe = driver.find_element('xpath', '//*[@id="tinymce-1722477822617216_ifr"]')
# 切换至ifraem表单
driver.switch_to.frame(iframe)
# 切换回原来表单
driver.switch_to.default_content()
注:记得切换回原来表单,不然导致其他元素无法定位
更多内容请关注微信公众号