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

seleniumautomation testingtesting tools

我们可以在 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
#设置 chromodriver.exe 路径
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
driver.implicitly_wait(0.5)
#启动 URL
driver.get("https://accounts.google.com/")
#识别元素
m = driver.find_element_by_link_text("Help")
m.click()
#获取父窗口句柄
p= driver.window_handles[0]
#获取浏览器标签页窗口
c = driver.window_handles[1]
#切换到标签页浏览器
driver.switch_to.window(c)
print("页面标题:")
print(driver.title)
#关闭浏览器标签页窗口
driver.close()
#切换到父窗口
driver.switch_to.window(p)
print("当前页面title:")
print(driver.title)
#关闭浏览器父窗口
driver.quit()

输出


相关文章