介紹
在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()
運行,看到“百度一下,你就知道”的輸出就代表成功了