selenium自动化加载chrome插件

安装插件

访问google插件商店: 点击此处前往
最好网络可访问google,否则可能打不开!

在这里插入图片描述

查看安装路径

1.在浏览器输入:chrome://extensions/ 可查看已经安装的插件,如下图:

在这里插入图片描述

2.在浏览器输入:chrome://version 查看插件在本地的安装路径,如下图:

在这里插入图片描述

3.如果想下载crx插件包,需事先安装下载插件:CRX Extractor/Downloader 可在插件商店直接搜索crx找到插件并安装!

在这里插入图片描述

4.再搜索自己想要的插件,然后鼠标右键找到下载CRX,加载crx插件:

浏览器千万不能设置成无头浏览器,否则将无法加载插件

options.add_extension('./exampleOfExtensionDownloadedToFolder.crx')

设置无头测试如下:

from selenium import webdriver
from selenium.webdriver .chrome.options import Options
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--headless') 
chrome_options.add_extension('插件.crx')
dr = webdriver.Chrome(chrome_options=chrome_options)

报错信息如下:
在这里插入图片描述

如果加载已安装过的插件是可以设置成无头浏览器:

chrome_options.add_argument("load-extension=C:/Users/Administrator/AppData/Local/Google/Chrome/User Data/Default/Extensions/bpgkfekflkgphdifpnehncchdfkhoahi/0.22_0")

实例

from selenium.webdriver.chrome.options import Options
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

import time
import random

def main():
	chrome_options = Options()
	chrome_options.add_argument('--no-sandbox')
	# chrome_options.add_argument('--headless')
	chrome_options.add_argument('--disable-dev-shm-usage')
	chrome_options.add_argument('--start-maximized')
	# 一般加载的路径为插件包下一级的版本号即可
	chrome_options.add_argument("load-extension=C:/Users/Administrator/AppData/Local/Google/Chrome/User Data/Default/Extensions/bpgkfekflkgphdifpnehncchdfkhoahi/0.22_0") # 这是重点
	# chrome_options.add_argument('blink-settings=imagesEnabled=false')
	chrome_options.add_argument('--disable-gpu')
	chrome_options.add_argument('--ignore-certificate-errors')
	driver = webdriver.Chrome(chrome_options=chrome_options)
	allwindows = driver.window_handles # 获取tab标签页
	# driver.switch_to_window(allwindows[0]) # 跳转至第1个
	driver.get('https://www.baidu.com')
	time.sleep(random.randint(1, 3))
	driver.quit()

if __name__ == '__main__':
	main()

猜你喜欢

转载自blog.csdn.net/Lin_Hv/article/details/112554880