zoukankan      html  css  js  c++  java
  • Selenium操作VS Code-Electron应用

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

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

    1. 打开VS Code,菜单Code--> About Visual Studio Code,如下图

      可以看到其使用的内核为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()
    

    效果如下图


    审查元素同样可以使用Chrome开发者工具,打开方式为菜单-->Help-->Toggle Developer Tools打开。

  • 相关阅读:
    Python
    QinQ 技术解析
    TLS/SSL 协议
    TLS/SSL 协议
    TLS/SSL 协议
    排序算法之基本排序算法(冒泡、插入、选择)
    Spring Boot 学习笔记--手写版
    mysql -- collection一对多查询
    mybatis 批量操作增删改查
    easyUI之datagrid绑定后端返回数据的两种方式
  • 原文地址:https://www.cnblogs.com/superhin/p/13993638.html
Copyright © 2011-2022 走看看