Electron是使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序框架,基于Nodejs + Chromium浏览器内核。
官网:https://www.electronjs.org/
Selenium操作VS Code-Electron应用_Selenium

Electron有很多优秀的应用,如VS Code、Atom、What's App、Postman等等。这些应用从本质上就是一个封装了的Chromium浏览器。因此使用Selenium + chromedriver也可以操作。
以VS Code为例。

  1. 打开VS Code,菜单Code--> About Visual Studio Code,如下图
    Selenium操作VS Code-Electron应用_Selenium_02
    可以看到其使用的内核为Chrome 83
  2. 下载对应版本的chromedriver
    下载地址:https://npm.taobao.org/mirrors/chromedriver/
  3. 找到VS Code的可执行程序地址
    如MacOS系统
  • Chrome可执行程序路径为 /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
  • VS Code可执行程序路径为 /Applications/Visual Studio Code.app/Contents/MacOS/Electron
  1. 编写脚本,使用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()

效果如下图
Selenium操作VS Code-Electron应用_Selenium_03

Selenium操作VS Code-Electron应用_Selenium_04
审查元素同样可以使用Chrome开发者工具,打开方式为菜单-->Help-->Toggle Developer Tools打开。