4.標簽頁切換 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) # browser.switch_to.window(handles[1]) # 在新打開的窗口B中操作 browser.find_element_by_id('xx').click() # 關閉當前窗口B browser.close() #切換回窗口A browser.switch_to_window(handles[0])
1.關閉瀏覽器全部標簽頁 driver.quit() 2.關閉當前標簽頁(從標簽頁A打開新的標簽頁B,關閉標簽頁A) 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鍵 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.標簽頁切換 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