要在代码中添加一个计数器以便在查找次数超过20次时停止定时器,你可以对 checkAndReplaceContent 函数进行修改,并添加一个计数器变量。下面是更新后的代码:
<script>
// 定义最大检测次数,可以修改maxchecks即可
let checkCount = 0;
const maxChecks = 20;
// Function to check the element's text and replace content
function checkAndReplaceContent() {
// 用xpath寻找元素
const xpath = "/html/body/div/div/div[1]/div[2]/section/div/div/div/div/div/div[1]/div/div/div[1]/span";
const result = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
const targetElement = result.singleNodeValue;
//检测元素的文本是否为某个特定的字符串
if (targetElement && targetElement.textContent.trim() === "NLP自然语言处理专家") {
// Replace content of .detail element
const detailElement = document.querySelector('.detail');
if (detailElement) {
detailElement.innerHTML = `
<h1>Updated Content</h1>
<p>This is the new content after replacing the old one.</p>
<ul>
<li>Item A</li>
<li>Item B</li>
<li>Item C</li>
</ul>
`;//这里是要替换的文本,反引号防止单双引号的文本干扰
clearInterval(intervalId); //替换后停止定时器
}
}
// Increment the check count
checkCount++;
// Stop the interval if the maximum number of checks is exceeded
if (checkCount >= maxChecks) {
clearInterval(intervalId);
}
}
// Set an interval to check for the condition every 50 milliseconds
const intervalId = setInterval(checkAndReplaceContent, 50);
</script>
关键点:
- checkCount:计数器变量,用于跟踪函数被调用的次数。
- maxChecks:最大检查次数,设置为20次。
- 在 checkAndReplaceContent 函数中:
- 每次调用时增加 checkCount。
- 检查 checkCount 是否达到 maxChecks,如果是,则停止定时器。