Browser 浏览器附加模块/扩展模块拦截数据选择,然后模拟链接单击和数据输入

Browser 浏览器附加模块/扩展模块拦截数据选择,然后模拟链接单击和数据输入,browser,google-chrome-extension,firefox-addon,add-in,Browser,Google Chrome Extension,Firefox Addon,Add In,背景:一个第三方web应用程序,在订购某类产品时,需要在订购页面上明确指导员工 正常过程: 选择要添加订单行的产品(单击产品图像) 新流程: 选择要添加订单行的产品(单击产品图像) [加载项]单击编辑订单行 [加载项]模拟清除默认的附加信息表单字段 输入其他信息,然后单击“保存” 请注意,由附加组件执行的两个步骤可以由用户执行,但是,当事情变得繁忙或新员工开始工作时,通常情况下,订单以默认值处理 任何指向正确方向的指示都将不胜感激。 多浏览器解决方案是首选,但不是必需的 我是一名经验丰富

背景:一个第三方web应用程序,在订购某类产品时,需要在订购页面上明确指导员工

正常过程:

  • 选择要添加订单行的产品(单击产品图像)
新流程:

  • 选择要添加订单行的产品(单击产品图像)
  • [加载项]单击编辑订单行
  • [加载项]模拟清除默认的附加信息表单字段
  • 输入其他信息,然后单击“保存”
请注意,由附加组件执行的两个步骤可以由用户执行,但是,当事情变得繁忙或新员工开始工作时,通常情况下,订单以默认值处理

任何指向正确方向的指示都将不胜感激。 多浏览器解决方案是首选,但不是必需的

我是一名经验丰富的开发人员,包括web开发,但没有浏览器插件/扩展开发经验


谢谢。

你可以很容易地用它制作一个插件。您将EventListener添加到gBrowser中,如果event.target是product元素,那么preventDefault将不会执行单击操作(您还必须执行mousedown和mouseup prevent)。然后获取“编辑订单行”的id并执行
。如果该操作不起作用并且确实需要模拟,请单击()
,然后使用
MouseEvent

要输入传统信息,请获取字段的id并设置其值。然后获取“保存”按钮id,然后执行
.submit()
。单击()

我在这篇文章中说了获取id,但是你可以使用
querySelector
和css选择器

有关如何与当前所选选项卡中的内容交互的信息,请参见本页:


基本上只需查看Greasemonkey,它可能是Firefox的一个选项…你是说这个gBrowser-?它似乎只是Linux,在mdn链接、选项卡式浏览器和gBrowser上没有任何老掉牙的东西