【Selenium+python】窗口句柄

14 篇文章 0 订阅
10 篇文章 0 订阅

元素有属性,浏览器的窗口其实也有属性的,只是你看不到,浏览器窗口的属性用句柄(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)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值