Message: stale element reference: element 无法定位到元素或跳转页面无法定位到元素解决
如需项目练习可以看这个 qq邮箱自动化发邮件练习
无法定位元素 主要有2种情况
1. 未切换页面无法定位 原因在页面本身存在iframe嵌入式标签如: 下面标签`
<iiframe>
被包含的代码
</iframe>
**处理方法:**
这里初始化自动对象名为: web
注意2和3步的代码: web .switch_to .frame() 和web .switch_to .parent_frame() 代码
iframe = web.find_element_by_id("login_iframe")
web.switch_to.frame(iframe)
需要操作的代码
web.switch_to.parent_frame()
总结步骤: (1) 首先我们需要定位到iframe标签
(2) 使用webdriver自带函数switch_to(可理解为跳转函数)
和frame()函数跳转到iframe嵌入式标签中
(3) 操作代码
(4) 找准时机退出iframe嵌入式标签
2. 切换页面导致无法定位到元素
这里所说的切换页面有两种情况
1. 页面切换打开了新的窗口
2. 页面切换未打开新的窗口
(解决方法是相同的)
**注意**:页面跳转之后一般都需要重新定位
代码
window = web.window_handles
web.switch_to.window(window[-1])
步骤1: 定位匹配到所以页面
步骤2: 使用switch_to函数和window()函数跳转到需要操作的页面 ==-1==为 最后一个页面
|