【问题标题】:Talk to Chrome extensions background conscole via webdriver通过 webdriver 与 Chrome 扩展后台控制台对话
【发布时间】:2016-10-08 02:12:51
【问题描述】:

我是网络编程新手。 我正在尝试将参数添加到我的 Chrome 扩展程序之一。

我知道我可以在扩展控制台中输入例如“window.localStorage.setItem()”。但是,我找不到将我的网络驱动程序导航到该扩展背景页面的方法。我已经看到,过去人们会使用 chrome//extensions:extension_id 作为 url 来访问该页面,但现在这种方法似乎不起作用。

有什么方法可以直接进入该页面而不告诉我的网络驱动程序单击程序员模式然后单击扩展程序? 提前致谢。这困扰了我好几个小时。

【问题讨论】:

  • 当您说 chrome//extensions:extension_id 时,您的意思是 chrome-extension://extension_id,对吗?
  • 是的,很抱歉这个错误

标签: python google-chrome selenium selenium-webdriver google-chrome-extension


【解决方案1】:

这里可能要更正的一件事是chrome://extensions/ 在 Chrome 浏览器上打开了 Extensions。所以这应该可以正常工作:

driver.get("chrome://extensions/")

请注意,现在 chrome://extensions/extension_id 不再将您带到扩展程序页面。


如果您对扩展的 详细信息选项 感兴趣,您应尝试仅通过链接访问它,因为不同扩展的 uri 不一致也是。例如

扩展 1 chrome-extension://gighmmpiobklfepjocnamgkkbiglidom/options/index.html

扩展 2:: chrome-extension://fngmhnnpilhplaeedifhccceomclgfbg/options_pages/support.html

一般格式有extension_id,但不一定定义整个 uri 以让您进入页面。


如果您想使用扩展程序,我建议您使用 Management API,这似乎很有用。

【讨论】:

  • 我使用的扩展创建了一个 _generated_background_page.html。因此,如果我再次 driver.get() url,它将生成另一个页面,这似乎不正确(实际上,我的扩展程序停止工作。)。有没有办法避免这种情况?谢谢。
  • 可能问题出在扩展本身。非常感谢
  • 你解决了吗?我也在寻找同样的东西。
  • 这里有同样的问题。在 _generated_backgroud_page.html 上执行“获取”会导致我的扩展程序的新实例。
猜你喜欢
  • 2013-05-23
  • 2020-12-12
  • 1970-01-01
  • 2011-06-12
  • 2021-04-18
  • 1970-01-01
  • 1970-01-01
  • 2020-02-08
  • 1970-01-01
相关资源
最近更新 更多