解决步骤
1、句柄切换解决
刚遇到这个问题,便去百度了一下,说可能需要句柄未切换到当前句柄;便将很多文章的切换句柄语句放在上面试了一下,结果还是一直报Message: Unable to locate element
。
然后试了一下老方法,输出差错:
print(driver.current_window_handle)
print(driver.window_handles)
我在跳转语句的前后,添加了这个输出当前句柄,在跳转语句后添加输出句柄数组;
结果输出为:
4294967297
4294967297
[u'4294967297']
跳转语句的前后,输出当前句柄(句柄为变可以预料);
但,跳转页面后的句柄数组里只存在一个元素(后查明原因:新开页才会记录到句柄数组,从原页面跳转至新页面不会记录到数组内
),所以移动句柄方案否决。
2、查看跳转后页面源码
后查看跳入新页面的页面源码,才发现是用iframe方式引用的网站登录页面
所以需要切换到iframe
#定位iframe
iframe = driver.find_element_by_id("loginChild");
# 切换入iframe
driver.switch_to.frame(iframe);
......
#切换出iframe
driver.switch_to.default_content()
结语
最后,希望我的文章能够帮助到你,感谢阅读。