您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

从Selenium WebDriver运行Chrome扩展程序

从Selenium WebDriver运行Chrome扩展程序

启用Chrome扩展程序后,该扩展程序已经“运行”(至少是其后台/事件页面)。没有API以编程方式单击该按钮。

如果您想不费力地使用现有扩展的功能,则建议下载扩展的源代码,并在扩展的源代码中插入其他事件侦听器。

创建一个新的HTML文件example_name.html,并使其包含:

<script src="example_name.js"></script>

创建一个新的脚本文件example_name.js并使其调用扩展程序的功能,例如:

chrome.runtime.getBackgroundPage(function(bg) {
// Relevant function at the background page. In your specific example:
bg.clearCache();

});

将以前的HTML文件添加web_accessible_resources清单文件中。

chrome.exe --pack-extension=directorycontainingextension

创建完成后directorycontainingextension.crx,将此crx文件加载到Chrome中以了解扩展程序ID。如果您不知道如何在Chrome中加载crx文件,只需访问https://robwu.nl/crxviewer/,选择crx文件,打开F12开发人员工具,然后将32个字符的字符串复制到“计算的扩展ID” :[此处为扩展名ID]”。

(从ChromeDriver 2.11开始,您可以压缩扩展名而不是将其打包为CRX文件,并通过设置"key"属性将扩展名ID硬编码在清单文件中(此"key"属性也由CRX Viewer打印到F12控制台)。

修改扩展名后,您将拥有一个具有与原始扩展名相同功能的扩展名,以及一个附加的HTML页面。 。

完成此操作后,“运行”扩展程序就像chrome-extension://[EXTENSION ID HERE]/example_name.html在新选项卡中打开一样容易。

如果您不喜欢这些新选项卡,则还可以使用chrome.webRequestchrome.declarativeWebRequestAPI拦截自定义URL,并在页面请求此资源时激活所需的功能。然后,您只需将URL放在中<img>即可激活扩展程序的功能

其他 2022/1/1 18:19:14 有559人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶