元素有属性,浏览器的窗口其实也有属性的,只是你看不到,浏览器窗口的属性用句柄(handle)来识别。
人为操作的话,可以通过眼睛看,识别不同的窗口点击切换。但是脚本没长眼睛,它不知道你要操作哪个窗口,这时候只能句柄来判断了。
获取当前页面的句柄:driver.current_window_handle
获取当所有的句柄:window_handles
切换句柄
方法一:
1.循环判断是否与首页句柄相等
2.如果不等,说明是新页面的句柄
3.获取的新页面句柄后,可以切换到新打开的页面上
4.打印新页面的title,看是否切换成功
方法二:
1.直接获取all_h这个list数据里面第二个hand的值:all_h[1]
def test_movingtoNewWindow(self):
# gets the current set of all window handles
allHandles = self.chrome.window_handles
# switch if not same as current handle
for h in allHandles:
if h!=self.curHandle:
self.chrome.switch_to.window(i)
# print the title of new page and go back to the old page
print(self.chrome.title)
self.chrome.close()
self.chrome.switch_to.window(curHandle)