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