触发点击无效

时间:2017-02-21 13:35:10

标签: javascript jquery google-chrome google-chrome-extension

编辑: 非常感谢您的所有努力,现在我的所有代码都在运行!

我想触发点击https://shop.adidas.ae/en/stan-smith-shoes/S82255.html(制作鞋子)。 为什么此代码无法触发大小类型按钮?

setTimeout(function () {
   $('select.product-type.js-size-type').trigger('click');
}, 1000);

这是选择按钮:

<select class="product-type js-size-type">

这就是chrome控制台所说的

caught TypeError: Cannot read property 'click' of null
    at <anonymous>:2:41

更新:

我的Chrome扩展程序清单:

{
  "name": "name",
  "description": "test",
  "version": "1.0",
  "manifest_version": 2,
  "permissions": ["*://*/*"],
  "content_scripts": [
    {
      "matches": ["*://*.adidas.ae/*"],
      "js": ["jquery.js", "yeezyCopper.js"]
    }
  ],
  "background": {
    "scripts": ["background.js"],
    "persistent": false
  }
}

YeezyCopper.js:

setTimeout(function () {
   $('select.product-type.js-size-type').trigger('click');
}, 1000);

提前致谢!

2 个答案:

答案 0 :(得分:2)

代码正常运行,但以编程方式触发的“click”事件无法打开select选项列表。

请参阅Is it possible to use JS to open an HTML select to show its option list?

您可以通过为该元素添加自己的onclick事件然后触发click事件来测试它是否有效。

答案 1 :(得分:-3)

更新

setTimeout(function () {
   $('select.product-type.js-size-type').trigger('click');
}, 1000);

setTimeout(function () {
   $('select .product-type.js-size-type').trigger('click');
}, 1000);