zh648990 发表于 2022-4-18 14:06

求助大佬油猴脚本怎么编写 判断元素是否存在,存在则点击或者发送文本的请求呢?

本帖最后由 zh648990 于 2022-4-24 15:08 编辑

办公的网站每次登陆几乎都有一个弹窗
油猴怎么实现判断元素是否存在,如果存在则点击,否则忽略
还有一个就是 发送指定文本 比如判断备注框的元素是否存在,然后发送一个换行符+指定的文本字符

闷骚小贱男 发表于 2022-4-18 14:18

document.getElementsByClassName
document.getElementsByTagName
document.getElementById

都能判断存在不存在

你好港屿 发表于 2022-4-18 14:29

var a = document.querySelector("#fastpostsubmit"); if(a!=null){a.click();}

jidesheng6 发表于 2022-4-18 14:31

如果他是需要等待一段时间才出来的,你可以setInterval函数来执行楼上所说的方法,同时获取他们的值,如果不存在会返回undefined,存在则返回的是元素本身,你就可以直接用if(xxx)判断,存在点击,同时清除定时器

jidesheng6 发表于 2022-4-18 14:33



如图所示,这样即可

楚子沦i 发表于 2022-4-18 14:57

油猴脚本我其实才写了一个,你可以选择他的加载时间,如果需要进行页面操作的话,请自行更改,在脚本编写的设置里面.
另外判断是否存在的话,就是先获取一下这个元素,如果不存在会返回undefined

我今天是大佬 发表于 2022-4-18 15:53

const ele = document.querySelector("node")
ele && function(){ele.click()}

zh648990 发表于 2022-4-18 16:00

本帖最后由 zh648990 于 2022-4-18 16:03 编辑

jidesheng6 发表于 2022-4-18 14:33
如图所示,这样即可
(function() {
    'use strict';

    // 备注内容
    function getNoteContent() {
      var date = new Date()
      var month = date.getMonth() + 1
      var today = date.getDate()
      var content = '\n ' + month.toString() + '.' + today + ' ZHUAN'
      return content
}

    var element = document.getElementById('seller_words')
    // 元素是否存在
    if(element!=null){
      element.click()
      element.value = getNoteContent()
    }

})();

我在百度的搜索框测试成功,但是到抖音的订单备注就不行了
大佬帮忙看看


我想实现的是 每次搜索一个订单编号,点击旗帜 弹窗如图所示的备注框 然后脚本工作自动备注 文本 4.18 ZHUAN

jidesheng6 发表于 2022-4-18 16:24

zh648990 发表于 2022-4-18 16:00
(function() {
    'use strict';



不太清楚的程序执行处理过程,请问if代码块中的click执行成功了吗?

zh648990 发表于 2022-4-18 17:17

jidesheng6 发表于 2022-4-18 16:24
不太清楚的程序执行处理过程,请问if代码块中的click执行成功了吗?
百度的搜索框是执行了,办公的网站没有反应
页: [1] 2
查看完整版本: 求助大佬油猴脚本怎么编写 判断元素是否存在,存在则点击或者发送文本的请求呢?