如何在不关闭浏览器的情况下在 Selenium-Python 中关闭活动/当前选项卡?


我们可以使用 Python 中的 Selenium WebDriver 关闭活动/当前选项卡,而无需关闭浏览器。默认情况下,Selenium 控制父窗口。一旦打开另一个浏览器窗口,我们必须借助 switch_to.window 方法显式转换控件。

要转换的浏览器窗口的句柄 ID 作为参数传递给该方法。window_handles 方法返回已打开浏览器的所有窗口句柄 ID 的列表。

方法 current_window_handle 用于保存焦点浏览器窗口的窗口句柄 ID。要仅关闭活动或当前标签,我们必须使用 close 方法。

语法

parent = driver.window_handles[0]
chld = driver.window_handles[1]
driver.switch_to.window(chld)
driver.close()

让我们尝试如下所示关闭活动浏览器:

示例

from selenium import webdriver
#set chromodriver.exe path
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
driver.implicitly_wait(0.5)
#launch URL
driver.get("https://127.0.0.1/")
#identify element
m = driver.find_element_by_link_text("Help")
m.click()
#obtain parent window handle
p= driver.window_handles[0]
#obtain browser tab window
c = driver.window_handles[1]
#switch to tab browser
driver.switch_to.window(c)
print("Page title :")
print(driver.title)
#close browser tab window
driver.close()
#switch to parent window
driver.switch_to.window(p)
print("Current page title:")
print(driver.title)
#close browser parent window
driver.quit()

输出

更新日期:06-4 月 2021

15K+ 浏览量

开启您的 职业生涯

完成课程以获得认证

立即开始
广告