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

wylc123 1年前 ⋅ 2657 阅读
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]) 
更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: