当前位置: 首页 > article >正文

【自动化】Python SeleniumUtil 油猴 工具 自动安装用户脚本

【自动化】Python SeleniumUtil  油猴 工具

【自动化】Python SeleniumUtil 工具-CSDN博客【自动化】Python SeleniumUtil 工具。https://blog.csdn.net/G971005287W/article/details/144565691

油猴工具

import time

from selenium.webdriver.support.wait import WebDriverWait
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

from 服务.Selenium.SeleniumUtil import SeleniumUtil


class 油猴:
    @staticmethod
    def 新建用户脚本(driver, 用户脚本地址url):
        # 这个地址提前获取一下
        driver.get('chrome-extension://ooicokiaoaoadbpknjehhcdiejmbppod/options.html#nav=utils')

        # 记录所有已知的窗口句柄(包括原始标签页)
        before_handles = SeleniumUtil.标签页.获取所有已知窗口句柄(driver)

        time.sleep(2)
        js = f"""
            document.getElementById('input_dXRpbHNfdXRpbHM_url').value='{用户脚本地址url}'
            document.getElementById('input_dXRpbHNfdXRpbHNfaV91cmw_bu').click()
            return true
        """
        driver.execute_script(js)
        time.sleep(3)

        # 再次记录所有窗口句柄
        after_handles = SeleniumUtil.标签页.获取所有已知窗口句柄(driver)

        SeleniumUtil.标签页.切换到新窗口句柄(driver, before_handles, after_handles)

        # 获取新标签页的 URL
        new_url = driver.current_url
        driver.get(new_url)

        安装按钮元素 = SeleniumUtil.页面元素.get元素ByName属性(driver, "安装", True, 5)
        SeleniumUtil.页面元素.点击元素(安装按钮元素)
        安装按钮元素 = SeleniumUtil.页面元素.get元素ByName属性(driver, "重新安装", True, 3)
        SeleniumUtil.页面元素.点击元素(安装按钮元素)
        print(f"用户脚本安装成功: {new_url}")





if __name__ == '__main__':
    驱动路径 = 'C:\\chromedriver\\129.0.6656.0\\chromedriver.exe'
    debuggerAddress = 'localhost:4973'
    driver = SeleniumUtil.Driver.初始化驱动通过Debug模式(驱动路径, debuggerAddress)
    油猴.新建用户脚本(driver, 'https://www.xxx.com.cn/aa.user.js')


http://www.kler.cn/a/443057.html

相关文章:

  • C++类的引入
  • 流浪猫流浪狗领养PHP网站源码
  • Lua语言中常用的字符串操作函数
  • C# XPTable 带图片的增删改查(XPTable控件使用说明十三)
  • 2、蓝牙打印机点灯-GPIO输出控制
  • P10424 [蓝桥杯 2024 省 B] 好数
  • OceanBase 数据库分布式与集中式 能力
  • 【使用LLM搭建系统】1语言模型,提问范式与 Token
  • MySQL创建及增删改查
  • VisionPro 机器视觉控件篇 之 CogBlobTool 斑点工具
  • php-fpm.conf 部分参数说明新手教程
  • 电脑蓝牙修复工具:一键解决蓝牙连接问题
  • ES6学习模板字符串、解构赋值(三)
  • web自动化测试框架playwright
  • 【自然资源】“三区三线”,旅游开发相互冲突怎么办?
  • 12月22日!蓝桥杯MWORKS新赛道「智能装备数字化建模大赛」总决赛暨颁奖典礼即将启幕
  • 利器 | AppCrawler 自动遍历测试工具实践(一)
  • 02-2.python入门语法一变量与数据类型2
  • C语言(结构体练习)
  • 游泳溺水识别数据集,对9984张原始图片进行YOLO,COCO JSON, VOC XML 格式的标注,平均识别率在91.7%以上
  • 高校成人教育学籍管理系统设计与实现
  • 流量分析总结(实战[INSHack2019]Passthru)
  • Linux驱动开发(15):Framebuffer子系统–LCD驱动实验
  • 【Qt】加载MySQL数据库驱动失败的解决方法
  • linux 安装redis
  • 【每日一题 基础题】[蓝桥杯 2020 省 AB3] 乘法表