使用python从硒铬webdriver启动时如何在隐身模式下添加扩展名

时间:2019-06-01 11:59:59

标签: python selenium

我们正在使用selenium python webdriver做一些测试,我们需要以隐身模式打开一个url,并启用一个已安装的扩展,然后执行一些操作。

我的发现:

  • 以隐身模式加载扩展程序不起作用
  • 关闭icgnito模式时加载扩展名

验证了太多关于堆栈溢出的帖子,但没有任何效果。 尝试以下代码”

{{1}}

抛出错误无法加载manifest.json丢失或不可读。但是我已经确定路径正确。

有什么建议请在隐身模式下打开chrome驱动程序时如何加载扩展程序?

1 个答案:

答案 0 :(得分:1)

您可以将所需的Cookie /扩展名作为chrome选项的一部分加载,而不是使用chrome配置文件。在this post

中查看我的答案

有关个人资料及其工作方式的更多信息,请参见here

这是在隐身模式下打开扩展名的逻辑。

Python:

# driver.get("chrome://extensions/?id=extion_name_goes_here"); # <=== general snippet see below example
# driver.get("chrome://extensions/?id=jfpmbokkdeapjommajdfmmheiiakdlgo") 

# select allow in incognito mode checkbox
driver.execute_script("return document.querySelector('extensions-manager').shadowRoot.querySelector('#viewManager > extensions-detail-view.active').shadowRoot.querySelector('div#container.page-container > div.page-content > div#options-section extensions-toggle-row#allow-incognito').shadowRoot.querySelector('label#label input').click()");

有关以上所用js的更多信息,请参见this post中的答案。