老师,close和quit的区别在哪?效果一样吗?如果不设置time.sleep意思是不是打开显示一下就关了

来源:3-1 selenium元素定位技巧

qq_慕婉清1197770

2023-06-10 16:28:23

from selenium import webdriver
browser = webdriver.Chrome()
browser.get(“http://www.baidu.com”)
print(browser.page_source)
browser.close()
from selenium import webdriver
browser = webdriver.Chrome()
browser.get(“http://www.baidu.com”)
print(browser.page_source)
browser.quit()


写回答

1回答

好帮手慕小猿

2023-06-12

同学,你好!1、效果不一样,close()关闭当前浏览器所在的窗口,如下代码,先访问www.baidu.com,再点击新闻按钮,将当前窗口句柄放在最后打开的页面,使用close()只会关闭最后打开的网页

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
browser = webdriver.Chrome()
browser.get("http://www.baidu.com")
browser.find_element(By.CLASS_NAME, "mnav").click()
handles = browser.window_handles
browser.switch_to.window(handles[-1])#切换到新打开的新闻页
time.sleep(2)
browser.close()

quit()是将打开的所有网页关闭,退出webdriver

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
browser = webdriver.Chrome()
browser.get("http://www.baidu.com")
browser.find_element(By.CLASS_NAME, "mnav").click()
handles = browser.window_handles
browser.switch_to.window(handles[-1])#切换到新打开的贴吧页
time.sleep(2)
browser.quit()

同学,可以运行下两个代码感受下

2、time.sleep()是停顿几秒再执行下边的代码,停顿几秒是为了给打开页面留些时间,方便后续获取页面数据。再退出浏览器。若不设置是会直接退出浏览器的

祝学习愉快~

0

0 学习 · 4470 问题

查看课程