单击按钮的用户脚本

2024-04-07

我想使用greasemonkey 单击“立即购买”按钮。

// ==UserScript==
// @name        script
// @namespace   sc
// @include     *
// @version     1
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// ==/UserScript==

waitForKeyElements ("#buy-now", triggerMostButtons);

function triggerMostButtons (jNode) {
    triggerMouseEvent (jNode[0], "mouseover");
    triggerMouseEvent (jNode[0], "mousedown");
    triggerMouseEvent (jNode[0], "click");
    triggerMouseEvent (jNode[0], "mouseup");
}

function triggerMouseEvent (node, eventType) {
    var clickEvent = document.createEvent('MouseEvents');
    clickEvent.initEvent (eventType, true, true);
    node.dispatchEvent (clickEvent);
}

按钮的 HTML:

<div class="buy-now"><a data-spm-anchor-id="0.0.0.0" data-widget-cid="widget-14" tabindex="-1" id="buy-now" class="buy-now-btn" href="#">Buy Now</a><a id="add-to-cart" class="add-to-cart-btn" href="#">Add to Cart</a></div>

我尝试过其他代码,例如

var TargetLink          = $("a:contains('Ik neem er een!')")
if (TargetLink.length)
    window.location.assign (TargetLink[0].href);

and

waitForKeyElements ("a.class:contains('buy-now-btn')", clickOnFollowButton);

function clickOnFollowButton (jNode) {
    var clickEvent  = document.createEvent ('MouseEvents');
    clickEvent.initEvent ('click', true, true);
    jNode[0].dispatchEvent (clickEvent);
}

有人能给我解释一下在 waitForKeyElements 中放入什么作为单击按钮的第一个参数吗?


我想知道下面的代码是否是您想要的。

document.querySelector('#buy-now').click()

Demo http://jsfiddle.net/eP863/

好像有些脚本没有加载你提到的页面 http://www.aliexpress.com/item/Free-shipping-100-Genuine-Original-P1000-Mobile-phone-data-cable-for-Samsung-P1000-P6800-P7500-USB/1477114758.html#在 DOMContentLoaded 时。添加延迟对我来说解决了这个问题,即

// ==UserScript==
// @name         script
// @namespace    sc
// @include      http://www.aliexpress.com/item/Free-shipping-100-Genuine-Original-P1000-Mobile-phone-data-cable-for-Samsung-P1000-P6800-P7500-USB/1477114758.html
// @version      1
// @description  http://stackoverflow.com/questions/22633509/userscript-to-click-button/22684724
// @grant        none
// ==/UserScript==
setTimeout(function() {
    document.querySelector('#buy-now').click()
}, 1000)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单击按钮的用户脚本 的相关文章

随机推荐

  • ProGuard 混淆、java、Google Gson 和通用集合 - 如何保留成员?

    我有一堂这样的课 public class MyClass private Queue
  • 如何使用 KIF 框架模拟位置服务

    我使用KIF框架 http github com kif framework KIF http github com kif framework KIF 用于 UI 测试 我需要模拟位置服务 问题是位置服务在 KIF 方法 beforeAl
  • 选项卡面板中的 Vbox 布局问题

    我有一个问题vbox布局所以我创建了一个简单的例子 这说明了问题 这让我vbox布局到fit屏幕的高度 On the hbox屏幕上 视图看起来符合预期 然而 当我简单地改变hbox to vbox所有文本都覆盖在左上角 所有代码都在下面给
  • 如何在 Windows 脚本宿主中使用 jQuery?

    我正在编写一些需要解析大量包含 HTML 片段的文件的代码 看起来 jQuery 对此非常有用 但是当我尝试将 jQuery 加载到 WScript 或 CScript 之类的内容中时 由于 jQuery 对窗口对象的许多引用 它会抛出错误
  • 访问 Node JS Lambda 中的 AWS SSM 参数

    我能够在 NodeJS 中本地从 AWS SSM 参数存储中检索数据 但当我将代码移至 Lambda 时却无法检索数据 我搜索过 但没有找到很多使用 NodeJS 设置 Lambda 且不使用 无服务器 框架的示例 我知道我错过了一些简单的
  • Polymer + Dart2js 不工作

    当我使用 Polymer 库创建新应用程序时 它会生成一个示例项目 该项目在 Dartium 中运行得很好 但是当我编译它时 使用pub build 它不再起作用了 我收到两个 404 错误和一个未捕获的类型错误 这是我在 Chrome 中
  • 使用 JNI 链接静态库

    Java 8 之前的 Java 版本要求本机代码位于共享库中 但我读到 在 Java 8 中可以将静态链接库与 JNI 一起使用 我搜索过示例但找不到任何示例 如何将 JNI 库静态链接到我的 java 应用程序中 Java SE 8规范已
  • asp.net web 表单中的 ASP.Net 路由

    我正在为我的网站使用 ASP Net Web 表单路由 但我想让它更具结构性并使用适当的结构隐藏所有查询字符串 ID 例如Language Category PageName Title例子 www abc com en sports cr
  • 将图像保存到文件

    我正在开发一个基本的绘图应用程序 我希望用户能够保存图像的内容 我想我应该使用 System Drawing Drawing2D GraphicsState img drawRegion CreateGraphics Save 但这对我保存
  • GWT获取应用程序的路径

    我有一个 GWT 应用程序 当我在运行应用程序后部署本地主页时 其主页为 localhost 8888 myapp html 但当我们将其部署到服务器时 在应用程序运行后其主页为 107 20 239 198 8080 myapp myap
  • 如何使用 3rd 方 SDK 遵循 MVP 架构?

    我看过很多项目展示如何在 MVP 中实现登录 但找不到任何与 Google Facebook 登录相关的内容 当登录流程与Android组件生命周期强绑定时我们该怎么办 我看到 MVP 的主要好处是我们在上面构建了一个抽象Context 但
  • 如何在eclipse中添加sbteclipse插件

    我正在使用 sbt 0 13 我想添加 sbteclipse 插件 以便 eclipse 导入我的 sbt 项目 我可以轻松编写我的 scala 代码 在互联网上搜索时我得到了this https github com typesafehu
  • 我有两个带有相应值的 data.frame 索引向量(行、列),构建新 data.frame 的最快方法是什么?

    我有一个包含 3 列的数据框 df1 其中两个表示新 data frame df2 的索引 其余列包含应放置在 df2 中的值 如果我忽略了正确的答案 我很抱歉 df1 lt data frame row c 1 3 1 2 3 col c
  • GRPC:客户端超时

    我正在尝试让客户端在超时的情况下工作 为此 我修改了 async greeter server cpp 和 async greeter client cpp 文件来测试这个概念 我在客户端 在客户端上下文上 设置截止日期 如果超时 我会等待
  • Flex Box 超出边界? [复制]

    这个问题在这里已经有答案了 Hello I have been trying to make a flex box in CSS like the image below but I have a problem that s look l
  • Django 自定义用户模型和用户管理器

    我正在使用 Django 1 5 构建一个 Web 应用程序 我正在使用带有自定义 UserManager 的自定义用户模型 我遵循 Django 官方文档的说明和示例 现在 当我尝试通过以下方式创建新用户时UserManager crea
  • Codeigniter URL 重定向和路由

    我正在尝试使用 Codeighiter 路由重定向 URL 我无法为以下内容编写路由 如果 URL 带有 api some some我想将其重定向到api some some 否则我想将 URL 重定向到 home index 即如果任何
  • AngularJS 指令不起作用

    请在下面找到我写的指令 angular module netVogue directives directive set First Active function return function scope element attrs a
  • 更快的循环方法(“for”和“foreach”)? [复制]

    这个问题在这里已经有答案了 这个问题源于我问上一个问题的原因foreach循环 我有一个很大的字符串数组 比如说数千个 我想迭代该数组并且还能够根据特定条件进行突破 并且我需要最佳性能 一些示例代码 for int i 0 i lt arr
  • 单击按钮的用户脚本

    我想使用greasemonkey 单击 立即购买 按钮 UserScript name script namespace sc include version 1 require http ajax googleapis com ajax