从Selenium WebDriver运行Chrome扩展程序

阿比耶耶·瓦伊卡(Abhijeet Vaikar)

我知道如何在Selenium Webdriver中加载Chrome扩展程序。但我看不到任何描述如何从Selenium运行chrome扩展程序的帖子/博客

我需要明确地使chrome扩展程序运行/使其从硒中执行其功能。例如,我想使用带有Selenium Webdriver的扩展程序清除Chrome浏览器的缓存

我可以先做吗?还是Selenium WebDriver仅将扩展加载到浏览器实例中并留在浏览器实例中对我有帮助?

罗伯·W

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

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

  1. 获取扩展程序的源(例如,使用Chrome扩展程序源查看器,也称为CRX Viewer)。
  2. 解压缩该zip文件。
  3. 创建一个新的HTML文件example_name.html,并使其包含:

    <script src="example_name.js"></script>
    
  4. 创建一个新的脚本文件,example_name.js并使其调用扩展程序的功能,例如:

    chrome.runtime.getBackgroundPage(function(bg) {
        // Relevant function at the background page. In your specific example:
        bg.clearCache();
    });
    
  5. 将以前的HTML文件添加到web_accessible_resources清单文件中。
  6. 再次打包扩展,例如使用chrome://extensions或使用GUI

    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页面。新的HTML页面在打开时将调用扩展程序的功能

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Selenium Webdriver和Chrome驱动程序-无法运行Chrome驱动程序

来自分类Dev

无法使用Selenium Webdriver将解压后的扩展程序加载到Chrome中

来自分类Dev

无法使用Selenium Webdriver将解压后的扩展程序加载到chrome中

来自分类Dev

如何向 selenium chrome webdriver 添加多个扩展

来自分类Dev

Selenium :: Python :: Chrome 扩展

来自分类Dev

Selenium:Chrome 扩展的 NoSuchFrameException

来自分类Dev

Selenium Firefox WebDriver扩展安装

来自分类Dev

无法在Selenium Webdriver 2中启动Chrome驱动程序

来自分类Dev

Selenium Webdriver不会退出Chrome驱动程序

来自分类Dev

使用Selenium时如何选择要启用的Chrome扩展程序

来自分类Dev

如何在Selenium中使用Google Chrome扩展程序?

来自分类Dev

如何使用Selenium和Python安装Chrome扩展程序

来自分类Dev

C#扩展Selenium Webdriver类

来自分类Dev

在Saucelabs中使用Selenium远程Firefox Webdriver安装扩展程序时出现问题

来自分类Dev

当我在Chrome中运行此Selenium WebDriver测试时,将弹出空白页

来自分类Dev

下载位置Selenium-webdriver Cucumber Chrome

来自分类Dev

How to execute Selenium Chrome WebDriver in silent mode?

来自分类Dev

无法从Selenium Webdriver启动IE / Chrome

来自分类Dev

Selenium网格到远程Webdriver(chrome)挂起

来自分类Dev

Selenium::WebDriver::Firefox 和 Chrome 出错

来自分类Dev

使用 Javascript 和 Selenium Webdriver (Chrome) 登录

来自分类Dev

异步运行Selenium WebDriver的多个实例(Firefox)

来自分类Dev

如何使用pythonw运行Selenium Webdriver?

来自分类Dev

如何在后台运行Selenium Webdriver?

来自分类Dev

在Jenkins中运行Selenium Webdriver时出错

来自分类Dev

异步运行Selenium WebDriver的多个实例(Firefox)

来自分类Dev

如何使用pythonw运行Selenium Webdriver?

来自分类Dev

如何在后台运行Selenium Webdriver?

来自分类Dev

运行Selenium-webdriver时ECONNREFUSED连接

Related 相关文章

  1. 1

    Selenium Webdriver和Chrome驱动程序-无法运行Chrome驱动程序

  2. 2

    无法使用Selenium Webdriver将解压后的扩展程序加载到Chrome中

  3. 3

    无法使用Selenium Webdriver将解压后的扩展程序加载到chrome中

  4. 4

    如何向 selenium chrome webdriver 添加多个扩展

  5. 5

    Selenium :: Python :: Chrome 扩展

  6. 6

    Selenium:Chrome 扩展的 NoSuchFrameException

  7. 7

    Selenium Firefox WebDriver扩展安装

  8. 8

    无法在Selenium Webdriver 2中启动Chrome驱动程序

  9. 9

    Selenium Webdriver不会退出Chrome驱动程序

  10. 10

    使用Selenium时如何选择要启用的Chrome扩展程序

  11. 11

    如何在Selenium中使用Google Chrome扩展程序?

  12. 12

    如何使用Selenium和Python安装Chrome扩展程序

  13. 13

    C#扩展Selenium Webdriver类

  14. 14

    在Saucelabs中使用Selenium远程Firefox Webdriver安装扩展程序时出现问题

  15. 15

    当我在Chrome中运行此Selenium WebDriver测试时,将弹出空白页

  16. 16

    下载位置Selenium-webdriver Cucumber Chrome

  17. 17

    How to execute Selenium Chrome WebDriver in silent mode?

  18. 18

    无法从Selenium Webdriver启动IE / Chrome

  19. 19

    Selenium网格到远程Webdriver(chrome)挂起

  20. 20

    Selenium::WebDriver::Firefox 和 Chrome 出错

  21. 21

    使用 Javascript 和 Selenium Webdriver (Chrome) 登录

  22. 22

    异步运行Selenium WebDriver的多个实例(Firefox)

  23. 23

    如何使用pythonw运行Selenium Webdriver?

  24. 24

    如何在后台运行Selenium Webdriver?

  25. 25

    在Jenkins中运行Selenium Webdriver时出错

  26. 26

    异步运行Selenium WebDriver的多个实例(Firefox)

  27. 27

    如何使用pythonw运行Selenium Webdriver?

  28. 28

    如何在后台运行Selenium Webdriver?

  29. 29

    运行Selenium-webdriver时ECONNREFUSED连接

热门标签

归档