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