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()
广告