火山编程教程培训交流论坛-乐易网络

 找回密码
 立即注册

手机号登录

用手机号号登陆

微信登录

微信扫码,快速开始

QQ登录

用QQ账号登陆

购买模块,定制软件,报名培训联系QQ 【会员必读】:如何绑定QQ来登陆论坛 【会员必读】:如何绑定微信来登陆论坛
【强烈推荐】《火山视窗0基础入门系列课程》【新手必读】火山中的错误代码大全【新手必读】火山视窗静态编译方案
《0基础x64位游戏内存辅助开发教程 》《64位某信Hook技术实战基础教程》《【免费】火山视窗汇编快速入门课程》
《火山视窗浏览器网页填表系列课程》《64位某信Hook技术实战进阶教程》《【免费】火山视窗Exui界面库讲解》
《火山视窗POST基础入门课程》《64位某信数据库操作课程》《火山视窗JavaScript加解密课程》
《火山视窗64位Hook技术培训课程》  
查看: 2845|回复: 3

[已解决] edge

[复制链接]
已绑定手机

签到天数: 82 天

[LV.6]常住居民II

等级头衔

等級:H.2

Rank: 2

积分成就
火币
935
贡献
0
主题
22
精华
0
威望
48
积分
97
注册时间
2024-10-8
最后登录
2025-6-20

勋章墙

发表于 2024-12-22 08:35:39 | 显示全部楼层 |阅读模式
1火币
// 定义变量A为null(表示空)
let A = null;

// 使用Promise来进行定时循环操作,并确保A的值被正确设置
function loopAndFindElement(max) {
    return new Promise((resolve) => {
        (function checkElements(i) {
            // 如果已经找到了元素,则不再继续循环
            if (A === true) {
                resolve();
                return;
            }

            // 如果循环次数达到最大值且未找到元素,设置A为假并结束
            if (i >= max) {
                A = false;
                console.log("循环结束,未找到目标元素。");
                resolve();
                return;
            }

            // 遍历页面中的所有元素(这里以p标签为例,你可以根据需要调整选择器)
            const elements = document.querySelectorAll('p'); // 也可以使用更具体的选择器

            for (const element of elements) {
                // 检查元素的文本内容是否等于"测试"
                if (element.textContent.trim() === "测试") {
                    // 找到元素后执行点击操作
                    element.click();
                    // 设置A为真
                    A = true;
                    console.log("找到了元素并已点击。");

                    // 立即退出函数
                    resolve();
                    return;
                }
            }

            // 如果没有找到元素,等待1秒再进行下一次循环
            setTimeout(() => checkElements(i + 1), 1000);
        })(0); // 立即执行函数,从第0次开始
    });
}

// 开始循环,总共进行10次尝试
loopAndFindElement(10).then(() => {
    // 所有循环尝试完成后,输出变量A
    console.log("最终变量A的值为:", A);
    A;
});
控制台是没问题的,A   false  但是异步提交js返回结果是空  因为不能用循环?还是什么原因
// 注意:这段代码应该在浏览器环境中运行,例如通过浏览器的开发者工具控制台。

回复

使用道具 举报

已绑定手机

签到天数: 273 天

[LV.8]以坛为家I

等级头衔

等級:管理员

头衔:最专业的易语言火山中文编程讲师

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分成就
火币
7356
贡献
6
主题
269
精华
2
威望
332
积分
810
注册时间
2024-10-3
最后登录
2025-7-10

勋章墙

微信认证用户论坛讲师最佳新人终身顶级VIP会员富翁会员

发表于 2024-12-22 08:35:40 | 显示全部楼层

最佳答案限制查看

您还有0次查看次数,点此查看答案

点此购买查看次数

点评

感觉还是不能加循环之类的 还没运行完 就收到消息了  详情 回复 发表于 2024-12-22 18:54
我要说一句
回复

使用道具 举报

已绑定手机

签到天数: 82 天

[LV.6]常住居民II

等级头衔

等級:H.2

Rank: 2

积分成就
火币
935
贡献
0
主题
22
精华
0
威望
48
积分
97
注册时间
2024-10-8
最后登录
2025-6-20

勋章墙

 楼主| 发表于 2024-12-22 18:54:44 | 显示全部楼层
揰掵佲 发表于 2024-12-22 08:35
其实已经执行了.只是你EDGE没有监控控制台消息,所以导致没办法看到在火山输出而已....

感觉还是不能加循环之类的  还没运行完 就收到消息了
我要说一句
回复

使用道具 举报

已绑定手机

签到天数: 273 天

[LV.8]以坛为家I

等级头衔

等級:管理员

头衔:最专业的易语言火山中文编程讲师

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分成就
火币
7356
贡献
6
主题
269
精华
2
威望
332
积分
810
注册时间
2024-10-3
最后登录
2025-7-10

勋章墙

微信认证用户论坛讲师最佳新人终身顶级VIP会员富翁会员

发表于 2024-12-22 18:58:23 | 显示全部楼层
sgstvbdy 发表于 2024-12-22 18:54
感觉还是不能加循环之类的  还没运行完 就收到消息了

循环无所谓的 异步 最后还是会反馈结果的,
我说的不是 运行JS_异步 是 指自己写的JS代码的异步
我要说一句
回复

使用道具 举报

快捷回复 提醒:以任何方式进行『恶意灌水』的行为,进行封号处理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|火山编程教程培训交流论坛-乐易网络 ( 湘ICP备19007035号 )

拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表本站立场!

GMT+8, 2025-7-10 21:29 , Processed in 0.044745 second(s), 66 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表