TA的每日心情 | 开心 2023-12-25 06:51 |
---|
签到天数: 35 天 [LV.5]常住居民I
初级工程师
- 积分
- 67
|
发表于
2023-11-10 13:16:47
|
显示全部楼层
本帖最后由 tansuo 于 2023-11-10 14:35 编辑
$(document)[0].addEventListener('DOMContentLoaded', async function() {,还是进不去
我用我原来代码调试一下 发现虽然代码运行到模拟点击那几行代码中,但只有当 console.log(`Element with ID ${id+"_span"} found.`);和
console.log(targetElement);循环打印完才执行模拟点击,我把那个monitorDomChange()去除了 直接使用document.querySelector获取模拟点击后id为endText里面的数据,目前没有实现运行到模拟点击那几行代码中立即执行模拟点击,下面是完整代码
// ==UserScript==
// @name zh
// @match https:///*
// @grant GM_registerMenuCommand
// @grant GM_getValue
// @grant GM_setValue
// @grant unsafeWindow
// @run-at document-start
// ==/UserScript==
var _GM_registerMenuCommand = /* @__PURE__ */ (() => typeof GM_registerMenuCommand != "undefined" ? GM_registerMenuCommand : void 0)();
// 使用GM_registerMenuCommand注册一个新的菜单项
_GM_registerMenuCommand("Start Scraping", startScraping);
function startScraping() {
// 调用你的函数,设置变量为true
myFunction()
}
function myFunction() {
console.log(1111);
//$(document)[0].addEventListener('DOMContentLoaded', async function() {
$(document).ready( function(){
console.log(2222);
// 获取指定 ID 的元素
const parentElement = document.getElementById('treeDemo');
// 获取所有子元素
const childElements = parentElement.children;
// 遍历所有子元素
for (let i = 0; i < childElements.length; i++) {
// 判断当前元素是否为 li 标签
if (childElements.tagName === 'LI') {//缺个数组方括号里面有个i
// 获取 li 标签的 ID 并赋值给 document.getElementById()
const id = childElements.id;//缺个数组方括号里面有个i
// 在这里可以执行你需要的操作,例如打印 ID 或其他操作
console.log(`Element with ID ${id+"_span"} found.`);
const targetElement = document.getElementById(id + "_span"); // Correct the way to concatenate the string.
console.log(targetElement);
// 模拟点击事件
if (targetElement) {
const event = new MouseEvent('click', {
bubbles: true,
cancelable: true,
view: unsafeWindow,
});
setTimeout(() => {
//debugger
targetElement.dispatchEvent(event);
},5000);
debugger
const targetDivSelector = '#endText';
const targetDiv = document.querySelector(targetDivSelector);
if (targetDiv) {
console.log('Found target div:', targetDiv);
// 在这里可以对目标div进行操作或获取需要的数据
} else {
console.log('Target div not found.');
}
} else {
console.log('目标 ul 元素不存在!');
}
}
}
});
}
|
|