gpt4 book ai didi

python - 使用启用的扩展启动 selenium chromedriver

转载 作者:太空宇宙 更新时间:2023-11-04 04:37:19 24 4
gpt4 key购买 nike

我正在尝试使用 this 运行 chromedriver插入。我将插件下载为 .crx 并使用此扩展名初始化了浏览器:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_extension('/path/to/extension.crx')
driver = webdriver.Chrome(chrome_options=chrome_options, executable_path='/path/to/chromedriver')

扩展已正确加载到浏览器中,但未启用。

not enabled extension screenshot

为了启用扩展,您必须单击 DOM 外部的扩展图标。

enabled extension

有什么办法可以执行这种操作。

最佳答案

这不能通过 Selenium 完成。一种快速的方法是使用 win32 api模拟点击屏幕上扩展按钮的坐标。

首先找到屏幕上扩展按钮的坐标。您可以使用类似 this 的工具.我自己通过 this 与按钮正下方的 DOM 坐标进行比较,大致了解了该位置。 Chrome 扩展。

然后,使用下面的代码模拟对该位置的点击:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import win32api, win32con

chrome_options = Options()
chrome_options.add_extension('//path to crx')
driver = webdriver.Chrome(chrome_options=chrome_options, executable_path='path to chromedriver')
driver.maximize_window()
click(1317,51) # the coordinates of the button on my 1366 x 768 screen after maximizing.

def click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)

此外,您还可以查看 Sikuli .它使用图像识别来识别屏幕上任何所需的元素并对其执行操作。您首先必须获取按钮的屏幕截图,然后在您的 sikuli 脚本中对其执行点击功能。之后,您可以按照 here 中的建议从 python 触发您的 sikuli 脚本。 .

关于python - 使用启用的扩展启动 selenium chromedriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51399594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com