目标:在网页版网易云,以qq登录的方式,通过Python代码实现自动登录
在实现过程中,关键的有2步:
1.在打开的页面中点击链接,打开了新页面。driver需要重定向到新页面,直接定位新界面的元素会提示,“定位失败,没有这个元素”。
解决方法:获取当前浏览器所有句柄页,根据句柄页的值进行转换。
windows = driver.window_handles # 获取当前浏览器所有的页面句柄
windows的类型为list,通过windows[num]调用 。
关于句柄页、句柄值查阅了一些博客都分别说了一部分,没有对比的讲解,要做页面切换,先要搞清这两个的概念,否则直接生搬硬套,可能就会犯我执行时的错误:用句柄值去切换页面。以下是我的个人理解。
如果每次在新打开的标签页上点击链接打开下一个标签页,标签页顺序:1 2 3 4,句柄页的值为:0 1 2 3,关闭标签页4,在标签页3上点击其他链接打开一个新页面,句柄页的值仍为0 1 2 3,代表第1 2 3 4个标签页。
search_handle = driver.current_window_handle # 获取当前句柄页的句柄值
当前标签页的句柄值search_handle的值为:
CDwindow-0275C98CCBB9287B39FF9BB1B1501C3E,这种风格。