求助如何使用 js 脚本(或油猴脚本)点击 class 按钮

2020-08-07 10:04:40 +08:00
 yulihao
按钮代码如下
<div class="click-area"></div>
<div class="option-item first-option">A</div>
要求是当按钮出现时实现自动点击,谢谢啦
2956 次点击
所在节点    程序员
12 条回复
no1xsyzy
2020-08-07 10:06:13 +08:00
当按钮出现时?
那只有 MutationObserver 了
yulihao
2020-08-07 10:12:24 +08:00
@no1xsyzy 有具体代码吗,写第二个按钮就行
no1xsyzy
2020-08-07 10:16:31 +08:00
@yulihao #2 伸手还是退避吧
yulihao
2020-08-07 10:23:02 +08:00
@no1xsyzy 我主要是百度和谷歌了一堆代码(自己也学过来改),挂在油猴里面无效,各种报错
no1xsyzy
2020-08-07 10:30:38 +08:00
ochatokori
2020-08-07 10:33:59 +08:00
类选择器
kuro1
2020-08-07 10:34:30 +08:00
$("body").bind('DOMNodeInserted', function(e)
wlor
2020-08-07 10:42:18 +08:00
$("body").bind('DOMNodeInserted', (e) =>{
if ($(e.target).attr("class") === "option-item first-option") {
$(e.target).click()
$('body').unbind("DOMNodeInserted");
}
});
no1xsyzy
2020-08-07 11:16:09 +08:00
@kuro1 #7 @wlor #8 提醒一下吧
Note: Mutation Events (W3C DOM Level 3 Events) have been deprecated in favor of Mutation Observers (W3C DOM4).
顺便 bind / unbind 也 deprecated 了(被 on / off 取代)。
如果不在乎 deprecated 的话有比 #8 更好的写法。
提示:1. jquery on 事件代理机制; 2. 为 function 添加名称来在内部使用之。
wlor
2020-08-07 11:34:39 +08:00
好的 学习了
pluszone
2020-08-07 14:39:39 +08:00
document.querySelector('#xxxxxxx').click();
可以用 setTimeout 写个延时
yulihao
2020-08-10 21:56:39 +08:00
#11 楼
正解

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/696363

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX