1、安装
$ pip install selenium
2、下载浏览器驱动(
webdriver
)
- 根据自己的操作系统下载相对应的驱动,
webdriver
需要和对应的浏览器版本以及selenium
版本对应。 - 例如当前电脑
Chrome
版本为版本 107.0.5304.110(正式版本) (arm64)
,重点只需要看107.0
后面的小版本号不需要管,打开 Chrome浏览器驱动(chromedriver ) 找到107.0
开头的下载就行,选这个开头最新的那个。 - 本来以为下载大于
107.0
的版本(例如108.0、109.x
)高版本会向下兼容,结果报错This version of ChromeDriver only supports Chrome version 108
。- Chrome浏览器驱动(chromedriver )- Firefox浏览器驱动(geckodriver)- Edge浏览器驱动(MicrosoftWebDriver)- IE浏览器驱动(IEDriverServer)- Opera浏览器驱动(operadriver)- PhantomJS浏览器驱动(phantomjs),注意:这个无界面浏览器驱动已经不维护了,不推荐使用,selenium 后续版本也不用支持了,点击查看详情。- Chrome handless(无界面浏览器,add_argument 支持哪些参数,替代 PhantomJS) - 安装路径下载驱动后解压出来得到
驱动可执行文件
,不要运行,放到指定目录:-Windows
:复制webdriver
到Python
安装路径的根目录下即可。-Mac
:复制webdriver
到/usr/local/bin
或/usr/bin
目录下,看有哪个目录。如果实在不清楚放哪里,但是想使用,那就随便找个文件夹一丢,通过自定义路径导入使用就行,比如项目根目录,直接通过路径访问驱动使用。
3、使用
- 代码跑起后,没有写关闭浏览器的代码,运行几秒后,浏览器自动关闭的问题解决。
- 验证浏览器驱动是否正常使用,确保
python
环境正常,selenium
包已经安装。# 导入from selenium import webdriver# 如果需要指定路径,但是路径在新版本中被重构到 Service 函数中了# from selenium.webdriver.chrome.service import Service# 延时器from time import sleep# 1、浏览器驱动路径# win_path = 'chromedriver.exe'# mac_path = 'chromedriver'# 2、直接传入字符串路径报错:DeprecationWarning: executable_path has been deprecated, please pass in a Service object# 原因是这种写法将放弃使用# driver = webdriver.Chrome(mac_path)# 2、需要使用 Service 进行包裹一下【推荐】# options = webdriver.ChromeOptions()# options.add_experimental_option('detach', True) # 不自动关闭浏览器# service = Service(mac_path)# driver = webdriver.Chrome(service=service, options=options)# 创建浏览器驱动对象, 以下为创建不同浏览器驱动对象options = webdriver.ChromeOptions()options.add_experimental_option('detach',True)# 不自动关闭浏览driver = webdriver.Chrome(options=options)# Chrome浏览器# driver = webdriver.Firefox() # Firefox浏览器# driver = webdriver.Edge() # Edge浏览器# driver = webdriver.Ie() # Internet Explorer浏览器# driver = webdriver.Opera() # Opera浏览器# driver = webdriver.PhantomJS() # PhantomJS,无界面浏览器看上面 Chrome handless 文章# 打开指定网址driver.get('https://www.baidu.com')# 休眠5秒sleep(5)# 关闭浏览器驱动对象driver.quit()
本文转载自: https://blog.csdn.net/zz00008888/article/details/127903475
版权归原作者 卡尔特斯 所有, 如有侵权,请联系我们删除。
版权归原作者 卡尔特斯 所有, 如有侵权,请联系我们删除。