python关闭网页tab_Python+Selenium练习(十五)-在浏览器中切换tab

在浏览器中切换tab。

主要思路:

1.打开百度首页

2.获取百度主页上面的学术链接

3.在新tab中打开百度学术

4.获取百度主页的窗口句柄

5.获取百度学术的窗口句柄

6.通过窗口句柄切换页面

练习场景:

1.打开百度首页

2.获取百度主页上面的学术链接

3.用JavaScript语句,通过这条语句在新的标签页打开百度学术

4.执行JavaScript语句

5.获取百度主页的窗口句柄

6.获取浏览器打开的所有标签页句柄

7.循环判断是否是学术标签的句柄,如果是学术标签的句柄就会保存下来

8.通过窗口句柄切换页面,通过switch_to.window(标签句柄) 方法

具体代码:

# coding=utf-8

import time

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()

driver.maximize_window()

driver.implicitly_wait(6)

driver.get("http://www.baidu.com/")

time.sleep(1)

href = driver.find_element_by_link_text("学术").get_attribute('href')#获取百度主页学术的链接

js = 'window.open("{}");'.format(href)#javaScript语句,通过这条语句在新的标签页打开百度学术

driver.execute_script(js)#执行JavaScript语句

baidu_handle=driver.current_window_handle # #获取百度主页的窗口句柄

handles=driver.window_handles #获取浏览器打开的所有标签页的句柄

for handle in handles:

if handle != baidu_handle:

xueshu_handle=handle

print(baidu_handle,xueshu_handle)

print('now window handle:',driver.current_window_handle)

driver.switch_to.window(xueshu_handle)#切换标签页,原本在百度主页的页面,现在切换到百度学术

print("now window handle:",driver.current_window_handle)

time.sleep(2)

driver.close()#关闭当前标签页,close和quit的区别是一个是关闭当前页,一个是关闭浏览器

driver.switch_to.window(baidu_handle) #切换到百度主页

time.sleep(2)

driver.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值