Python + Selenium + Microsoft Edge浏览器运行环境搭建及配置无界面模式
介绍
在python中用selenium驱动Microsoft Edge(Chromium版)浏览器,并设置headless模式,也可以参考微软官方指导文档,更全更清晰
安装selenium
可以通过pip安装
pip install selenium
如果网络不好安装不上,可以手动下载包解压后进行安装,下载地址
python setup.py install
配置webdriver
去微软官方网站下载Microsoft Edge的webdriver,下载地址,找到对应版本下载,解压后得到一个msedgedriver.exe
然后可以将msedgedriver.exe放在"python/Scripts"下,或者放到某个文件夹中,然后将路径配置到环境变量中
测试
写个python文件,测试下
from selenium import webdriver
driver = webdriver.Edge()
driver.get('https://www.baidu.com')
运行你会发现报错了
selenium.common.exceptions.WebDriverException: Message: 'MicrosoftWebDriver.exe' executable needs to be in PATH.
提示找不到这个文件,MicrosoftWebDriver.exe是默认的名字,一看就跟我们的文件名不一样,那么再添加一个参数
from selenium import webdriver
driver = webdriver.Edge(executable_path='msedgedriver.exe')
driver.get('https://www.baidu.com')
运行,成功自动打开Edge浏览器并访问baidu.com
配置无界面模式
那如果想跟chrome一样配置无界面模式呢?你会发现webdriver.Edge()方法中不能添加option参数,所以这里需要再添加一个python库,msedge-selenium-tools,看名字就知道是edge跟selenium的连接工具库
pip install msedge-selenium-tools
同样也可以手动安装,下载地址,安装后再改下代码
from selenium import webdriver
from msedge.selenium_tools import EdgeOptions
from msedge.selenium_tools import Edge
edge_options = EdgeOptions()
edge_options.use_chromium = True
# 设置无界面模式,也可以添加其它设置
edge_options.add_argument('headless')
driver = Edge(options=edge_options)
r = driver.get('https://www.baidu.com')
print(driver.title)
driver.quit()
运行,看到“百度一下,你就知道”的输出就代表成功了