【问题标题】:Webdriver add bookmarklet to driver on driver creation, or save bookmarklet to bookmarks - Without loading profilesWebdriver 在创建驱动程序时将书签添加到驱动程序,或将书签保存到书签 - 无需加载配置文件
【发布时间】:2021-03-13 23:51:38
【问题描述】:

问题

我想将自定义书签(纯 JavaScript 代码的书签)添加到网络驱动程序,以便它显示在书签工具栏中。这可以在创建时通过 add_extension 进行,也可以在页面加载后进行。

如何在不进行用户交互且不加载配置文件的情况下将此书签添加到 bookamrks 工具栏?欢迎任何想法

from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_extension(r'C:\path\to\extension.crx')

# Have tried the below but doesn't open the add page to bookmarks?
"""actions = ActionChains(driver)
actions.send_keys(Keys.CONTROL + 'd')
actions.perform()
"""

【问题讨论】:

  • 为什么?您想通过添加此书签来完成什么?
  • 我想添加一个书签,书签包含用户可以点击做“X”的javascript代码。这是一个很长的故事,为什么。 @DMart
  • 你是如何使用硒的?你的最终目标是什么?

标签: javascript python selenium google-chrome bookmarklet


【解决方案1】:

您可以在 selenium 中任意执行 javascript。您不需要书签即可执行此操作。 看这个例子:

driver.execute_script("return true")

而这个答案: https://stackoverflow.com/a/5585345/1387701

【讨论】:

  • 我应该指定我知道这一点,但我将 selenium 用于一个奇怪的用例。我不想自动运行js。我希望用户点击书签。例如,我想要制作的一个小书签是一个说明表,当用户单击说明书签时,该表会显示给当前页面的用户。 @DMart
  • 什么用户?如果你使用 selenium,你就是在使用代码来控制浏览器。
  • 听起来你可能想创建一个浏览器扩展。
  • 我正在制作一个使用 selenium 的程序,是的,我现在正在查看应用程序 :)
【解决方案2】:

好吧,我想出了两种方法来做到这一点,但最终它不值得哈哈。 我会在回家时编辑我的评论以包括如何

【讨论】:

    猜你喜欢
    • 2013-08-13
    • 2013-01-08
    • 1970-01-01
    • 2013-04-21
    • 2018-12-15
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    相关资源
    最近更新 更多