1 4.标签页切换
2
3 from selenium import webdriver
4 browser=webdriver.Firefox()
5 browser.get('xxxxx')
6 # 获取当前窗口句柄(窗口A)
7 handle = browser.current_window_handle
8 # 打开一个新的窗口
9 browser.find_element_by_id('xx').click()
10 # 获取当前所有窗口句柄(窗口A、B)
11 handles = browser.window_handles
12 # 对窗口进行遍历
13 for newhandle in handles:
14 # 筛选新打开的窗口B
15 if newhandle!=handle:
16 # 切换到新打开的窗口B
17 browser.switch_to_window(newhandle)
18 # 在新打开的窗口B中操作
19 browser.find_element_by_id('xx').click()
20 # 关闭当前窗口B
21 browser.close()
22 #切换回窗口A
23 browser.switch_to_window(handles[0])
1.关闭浏览器全部标签页
?
1
driver.quit()
2.关闭当前标签页(从标签页A打开新的标签页B,关闭标签页A)
?
1
driver.close()
3.关闭当前标签页(从标签页A打开新的标签页B,关闭标签页B)
可利用浏览器自带的快捷方式对打开的标签进行关闭
Firefox自身的快捷键分别为:
Ctrl+t 新建tab
Ctrl+w 关闭tab
Ctrl+Tab /Ctrl+Page_Up 定位当前标签页的下一个标签页
Ctrl+Shift+Tab/Ctrl+Page_Down 定位当前标签页的前一个标签页
Ctrl+[数字键1-8] 定位所有标签页中最前的第[1-8]个
Ctrl+数字键9 定位最后一个标签页
注:如果是在一些Linux发行版系统中,比如Ubuntu,需要将Ctrl键换成Alt键
?
1
2
3
4
5
6
7
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
#新建标签页
ActionChains(browser).key_down(Keys.CONTROL).send_keys("t").key_up(Keys.CONTROL).perform()
# 关闭标签页
ActionChains(browser).key_down(Keys.CONTROL).send_keys("w").key_up(Keys.CONTROL).perform()
4.标签页切换
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from selenium import webdriver
browser=webdriver.Firefox()
browser.get('xxxxx')
# 获取当前窗口句柄(窗口A)
handle = browser.current_window_handle
# 打开一个新的窗口
browser.find_element_by_id('xx').click()
# 获取当前所有窗口句柄(窗口A、B)
handles = browser.window_handles
# 对窗口进行遍历
for newhandle in handles:
# 筛选新打开的窗口B
if newhandle!=handle:
# 切换到新打开的窗口B
browser.switch_to_window(newhandle)
# 在新打开的窗口B中操作
browser.find_element_by_id('xx').click()
# 关闭当前窗口B
browser.close()
#切换回窗口A
browser.switch_to_window(handles[0])
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys