python多窗口显示内容_python UI自动化之处理多窗口

前言

有些页面的链接打开后,会重新打开一个窗口,想要在新页面上操作,就需要先切换窗口了。获取窗口的唯一标识用句柄表示,所以只需要切换句柄,我们就能在多个页面上灵活自如的操作了。

1、元素有属性,浏览器的窗口其实也有属性的,只是你看不到,浏览器窗口的属性用句柄(handle)来识别

获取当前窗口的句柄

driver.current_window_handle

获取所有窗口的句柄

driver.window_handles

2、切换句柄

方法一:

1.循环判断是否与首页句柄相等

2.如果不等,说明是新页面的句柄

3.获取的新页面句柄后,可以切换到新打开的页面上

4.打印新页面的title,看是否切换成功

for i in all_h:

if i != h:

driver.switch_to.window(i)

print driver.title

方法二:

1.直接获取all_h这个list数据里面第二个hand的值:all_h[1]

driver.switch_to.window(all_h[1])

3、关闭新窗口,切回主页

driver.close()

driver.switch_to.window(h)

另js也可以处理多窗口

(1)、比如登录百度后,点击百度的网页链接会打开一个新的窗口 (只有登录的才会打开新的窗口,不登录是不会的)

1425043-20191108171504516-1386542093.png

(2)、查看元素属性:target="_blank"

1425043-20191108171715585-831967257.png

(3)、去掉target="_blank"属性

1.因为此链接元素target="_blank",所以打开链接的时候会重新打开一个标签页,那么解决这个问题,去掉该属性就可以了。

2.为了验证这个问题,可以切换到html编辑界面,手动去掉“_blank”属性

3.删除“_blank”属性后,重新打开链接,这时候会发现打开的新链接会在原标签页打开

(4)、js去掉target属性

js = 'document.getElementById("id").target="";'

driver.execute_script(js)

注意:并不是所有的链接都适用于本方法,本篇只适用于有这个target="_blank"属性链接情况

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值