|
目前已知,貌似Chrome、Edge之类并不支持本地扩展静默安装并自动启用 ,这么设计据说是由于安全因素,已知方法并不完美。
解压后使用参数加载法,经测试,Chrome可以自动启用(109),Edge不行,打开会提示,用户可点击提示手动启用。但是,每次都要使用参数加载,解压的文件不能删除,网友也是这么说的,不知道有无改进空间。
- --load-extension=D:\chrome
复制代码
用户文件夹备份法,没有测试过复制到其它电脑上是否可行,安装chrome之前解压,打开估计直接能用,但是如果不是chrome全新安装,这个直接无法使用,你不可能将别人正在使用的用户数据删除或覆盖了。
模拟鼠标点击添加按钮法,用python写了几行测试可行(水平实在有限),自动在屏幕上查找该按钮图片并点击,虽然只有区区几十行代码,但是打包成exe(目录形式)体积高达172M,单文件有65M,感觉像是用牛刀杀鸡。
- # python 3.x
- # 需要安装一些库,在cmd中执行
- # pip install pyautogui
- # pip install pillow
- # pip install opencv-python
- import os, winreg, string, pyautogui
- # 屏蔽键盘鼠标输入
- # from ctypes import *
- # wd = windll.LoadLibrary('User32.dll')
- # wd.BlockInput(True)
- # 更改组策略,设置扩展安装源,使其支持 chrome.exe file.crx 方式调用安装
- with winreg.CreateKeyEx(winreg.HKEY_LOCAL_MACHINE, r'SOFTWARE\Policies\Google\Chrome\ExtensionInstallSources') as reg:
- for i in range(24):
- winreg.SetValueEx(reg, '{}'.format(i+1), 0, winreg.REG_SZ, r'file:///{}:/*'.format(string.ascii_uppercase[i+2]))
- current_path = os.path.split(os.path.abspath(__file__))[0]
- # chrome.exe文件路径
- browser = r'D:\Chrome109\chrome.exe --user-data-dir="D:\Chrome109\UserData"'
- # crx文件放到脚本所在目录
- crx = os.path.join(current_path, 'chrome.crx')
- os.popen(browser + ' ' + crx)
- pyautogui.FAILSAFE = False
- # 添加扩展程序按钮图片和添加成功后的图片,放到脚本所在目录
- imagefile = os.path.join(current_path, 'chrome_add_ext.PNG')
- imagefile_ok = os.path.join(current_path, 'chrome_add_ext_ok.PNG')
- count = 0
- while count < 15:
- pyautogui.sleep(1)
- count += 1
- print(count)
- try:
- pyautogui.locateOnScreen(imagefile_ok, confidence=0.5)
- break
- except:
- try:
- center = pyautogui.locateCenterOnScreen(imagefile, confidence=0.9)
- pyautogui.moveTo(center, duration=0.5)
- pyautogui.leftClick(center)
- except:
- pass
- # 恢复键盘鼠标输入
- # wd.BlockInput(False)
- os.system('pause')
复制代码
pyautogui_test.7z
(14.28 KB, 下载次数: 0)
|
|