Nut 发表于 2022-5-25 17:43:33

如何解决脚本无法二次弹出选择文件框?

!(data/attachment/forum/202205/25/174235hvvf9ptrfaax0xfv.jpg)
脚本执行只能够弹出一次选择文件框,第二次就会报上图的警告,需要自己点击才能够弹出选择框,这个应该怎么解决?

李恒道 发表于 2022-5-25 22:11:35

感觉可能你哪里逻辑没写对
考虑分析一下逻辑,直接控制vue变量吧
[油猴脚本开发指南]Vue初探__vue__
https://bbs.tampermonkey.net.cn/thread-1425-1-1.html
[油猴脚本开发指南]通过__vue__获取数据
https://bbs.tampermonkey.net.cn/thread-1438-1-1.html
[油猴脚本开发指南]实战秒杀快手视频提取
https://bbs.tampermonkey.net.cn/thread-1441-1-1.html

Nut 发表于 2022-5-26 09:32:29

李恒道 发表于 2022-5-25 22:11
感觉可能你哪里逻辑没写对
考虑分析一下逻辑,直接控制vue变量吧
[油猴脚本开发指南]Vue初探__vue__


逻辑应该没错,我做成键盘事件的话,选择文件框是可以正常弹出来的,但是做成点击事件,再用js去模拟点击的话,第一次能弹出来,后面就不行了,报警告

李恒道 发表于 2022-5-26 09:38:58

Nut 发表于 2022-5-26 09:32
逻辑应该没错,我做成键盘事件的话,选择文件框是可以正常弹出来的,但是做成点击事件,再用js去模拟点击 ...

来个页面和代码看看?
这样太难判断问题了
呜呜呜

Nut 发表于 2022-5-26 09:50:44

李恒道 发表于 2022-5-26 09:38
来个页面和代码看看?
这样太难判断问题了
呜呜呜

!(data/attachment/forum/202205/26/094900y38ajbymyavyyydv.png)
```
```
需要登陆账号,所以只能给个图了,应该不是什么复杂页面,公司自己做的,代码如下
```// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @descriptiontry to take over the world!
// @author       You
// @match      http://mp.shiwanjia.top/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=shiwanjia.top
// @grant      none
// ==/UserScript==

(function() {
    let content = document.createElement('div')
    content.innerHTML ='<div id="content" style="z-index: 9999; text-align:center;background-color: red;width: 80px; height: 30px; padding-top:5px;position: fixed;top: 300px;right: 0;">展开<ul id="list"style="width: 80px; height: 135px;padding-top:8px;display:none;list-style:none;padding-left:0px;background-color:green"><li><button class="one">循环</button><li><button class="two">自动</button><li><button class="four">手动</button><li><button class="five">重新</button><li><button class="three">清除</button></li></ul></div>'
    document.body.appendChild(content)
})();

var isopen = false;
document.querySelector("#content").onclick=function(){
        isopen = !isopen
        if(isopen){
                list.style.display = 'inline-block';//展开
        }else{
                list.style.display = "none";//收起
        }
};

setInterval(function(){
        document.querySelector("div.el-dialog__footer > div > button.el-button.el-button--primary").click();//确定
}, 100);

setInterval(function(){
if(document.querySelector("img.el-image__inner.el-image__preview") !==null){//如果封面存在
        document.querySelector('').click();//点击第一个没有封面的视频
        }
}, 1000);


$(".el-image__inner").click(function(){//点击左侧视频,触发点击本地上传
        setTimeout(function(){
        document.querySelector("div:nth-child(1) > div > div.upload-cover-btn > button:nth-child(1)").click();//本地上传
        }, 200);
})
```

李恒道 发表于 2022-5-26 10:31:42

Nut 发表于 2022-5-26 09:50
!(data/attachment/forum/202205/26/094900y38ajbymyavyyydv.png)
```
```
查了一下
这个好像是浏览器限制问题了....
没啥好办法

Nut 发表于 2022-5-26 10:59:33

李恒道 发表于 2022-5-26 10:31
查了一下
这个好像是浏览器限制问题了....
没啥好办法

微笑中打出寄寄{:4_115:}

李恒道 发表于 2022-5-26 11:15:54

Nut 发表于 2022-5-26 10:59
微笑中打出寄寄

还有一种听说是绕过方法,但是我没尝试
哥哥试一下?
你那个不是buttton?
试一下创建一个button可不可以机器触发选择

Nut 发表于 2022-5-26 11:25:59

李恒道 发表于 2022-5-26 11:15
还有一种听说是绕过方法,但是我没尝试
哥哥试一下?
你那个不是buttton?


是个button,我试过直接写进循环里,第二次点击还是会报File chooser dialog can only be shown with a user activation.要点一下浏览器空白处才能触发点击

李恒道 发表于 2022-5-26 11:34:03

Nut 发表于 2022-5-26 11:25
是个button,我试过直接写进循环里,第二次点击还是会报File chooser dialog can only be shown with a ...

那完蛋了
应该没啥办法了,呜呜呜
页: [1]
查看完整版本: 如何解决脚本无法二次弹出选择文件框?