selenium库的使用(十五):选项卡操作

在访问网页时通常只打开一个选项卡,但有时会遇到多个选项卡的情况,比如在当前选项卡点击某个链接会打开一个新的选项卡来访问。selenium可以对选项卡进行操作,但不会区分窗口和选项卡

获取当前选项卡

1
driver.current_window_handle

获取所有选项卡

返回一个列表

1
driver.window_handles

切换选项卡

1
driver.switch_to_window(windowName)

windowName :切换的选项卡名称

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import time
from selenium import webdriver

driver = webdriver.Chrome()

# 访问网页
driver.get('https://www.gaoyuanqi.cn')
# 获取当前选项卡
new_tab = driver.current_window_handle
print(new_tab)
time.sleep(3)

# 新开一个选项卡
driver.execute_script('window.open()')
# 获取所有选项卡
tab = driver.window_handles
print(tab)
time.sleep(3)

# 切换到新开的选项卡
driver.switch_to_window(tab[1])
time.sleep(3)
# 在当前选项卡访问网页
driver.get('https://www.gaoyuanqi.cn/python-html-1/#more')
time.sleep(3)

# 切换到上一个选项卡
driver.switch_to_window(tab[0])
time.sleep(3)
# 在当前选项卡访问网页
driver.get('https://www.gaoyuanqi.cn/docker-compose/#more')

time.sleep(3)

# 退出驱动并关闭浏览器
driver.quit()