自动化测试小白,工作中遇到此类错误在此记录
此次错误发生原因是,多层iframe嵌套没有切换iframe就进行元素定位
后面网上查找资料最终解决,举例说明:
<iframe id='no1'>
<div id='aa'>aa</div>
<iframe id='no2'>
<div id='bb'>bb</div>
</iframe>
</iframe>
上面的嵌套iframe中,假设需要获取三次数据,获取顺序为aa、bb、aa。
# 切换iframe
no1 = driver.find_element_by_id('no1')
driver.switch_to.frame(no1)
# 第一个值
txt1 = driver.find_element_by_id('aa').text
# 切换iframe
no2 = driver.find_element_by_id('no2')
driver.switch_to.frame(no2)
# 第二个值
txt2 = driver.find_element_by_id('bb').text
# 返回上一个iframe
driver.switch_to.parent_frame()
# 第二个值
txt3 = driver.find_element_by_id('aa').text