python selenium 对浏览器标签页进行关闭和切换

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]) 

posted @ 2018-03-09 14:42  mapuboy  阅读(23524)  评论(1编辑  收藏  举报