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

运行,看到“百度一下,你就知道”的输出就代表成功了

posted @ 2021-02-26 13:12  lixuelong  阅读(28422)  评论(1编辑  收藏  举报