Selenium 中使用 Python 时 close() 方法和 quit() 方法有哪些区别?


在有些情况下,我们需要用多个选项卡打开不止一个浏览器。为了关闭这些会话,Selenium 中会用到 quit() 和 close() 方法。不过它们之间有区别,如下所列:

  • close() 方法可以关闭当前显示的浏览器。而 quit() 方法配合使用 driver.dispose() 方法,它可以关闭每个后续窗口。

  • close() 方法关闭当前正在使用的窗口。而 quit() 方法会挂起所有驱动程序会话和实例,从而关闭每个已打开的窗口。

示例

使用 close() 方法的代码实现。

from selenium import webdriver
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
# to maximize the browser window
driver.maximize_window()
#get method to launch the URL
driver.get("https://the-internet.herokuapp.com/windows")
#to refresh the browser
driver.refresh()
driver.find_element_by_link_text("Click Here").click()
#to fetch the first child window handle
chwnd = driver.window_handles[1]
#to switch focus the first child window handle
driver.switch_to.window(chwnd)
#to close the first child window in focus
driver.close()

使用 quit() 方法的代码实现。

from selenium import webdriver
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
# to maximize the browser window
driver.maximize_window()
#get method to launch the URL
driver.get("https://the-internet.herokuapp.com/windows")
#to refresh the browser
driver.refresh()
driver.find_element_by_link_text("Click Here").click()
#to fetch the first child window handle
chwnd = driver.window_handles[1]
#to switch focus the first child window handle
driver.switch_to.window(chwnd)
#to close the all the windows
driver.quit()

更新日期:2020 年 7 月 29 日

2K+ 浏览量

开启你的职业

完成课程并获得认证

开始学习
广告