Electron是使用 JavaScript,HTML 和 CSS 構建跨平台的桌面應用程序框架,基於Nodejs + Chromium瀏覽器內核。
官網:https://www.electronjs.org/
Electron有很多優秀的應用,如VS Code、Atom、What's App、Postman等等。這些應用從本質上就是一個封裝了的Chromium瀏覽器。因此使用Selenium + chromedriver也可以操作。
以VS Code為例。
- 打開VS Code,菜單Code--> About Visual Studio Code,如下圖
可以看到其使用的內核為Chrome 83 - 下載對應版本的chromedriver
下載地址:https://npm.taobao.org/mirrors/chromedriver/ - 找到VS Code的可執行程序地址
如MacOS系統
- Chrome可執行程序路徑為
/Applications/Google Chrome.app/Contents/MacOS/Google Chrome
- VS Code可執行程序路徑為
/Applications/Visual Studio Code.app/Contents/MacOS/Electron
- 編寫腳本,使用ChromeOptions指定可執行程序路徑
from selenium import webdriver
from time import sleep
options = webdriver.ChromeOptions()
# 指定瀏覽器可執行程序路徑
options.binary_location = '/Applications/Visual Studio Code.app/Contents/MacOS/Electron'
dr = webdriver.Chrome('/Users/superhin/Downloads/chromedriver', options=options) # 指定83版本chromedriver路徑
sleep(3) # 加載插件等需要等待
print(dr.page_source) # 打印頁面源碼
# 點擊設置
dr.find_element('css selector', 'a[title="Manage"]').click()
sleep(3)
# 也可以打開瀏覽器
dr.get('https://www.baidu.com')
sleep(5)
dr.quit()
效果如下圖
審查元素同樣可以使用Chrome開發者工具,打開方式為菜單-->Help-->Toggle Developer Tools打開。