gpt4 book ai didi

javascript - 与 .click() 一起使用的 waitForKeyElements

转载 作者:太空宇宙 更新时间:2023-11-04 11:22:28 25 4
gpt4 key购买 nike

我正在使用这个在网站上运行的脚本,但我想修改它以供其他用途。是否可以使用 waitForKeyElements 函数来查找页面上的文本(而不是链接中的文本)?

这是div:

<div id="action_pane" style="text-align: center;">You have run out of turns

一旦出现“您已用完回合”的文字。出现时,我希望点击功能点击包含与 $action_pane 中的文本不同的文本的链接。我不能使用它,因为该文本仅在轮流出现时出现。我想点击包含文本“重新开始”的链接。此链接始终存在,因此我正在尝试解决它,或者我将只使用工作脚本。

这是我要修改的工作脚本:

function clickit (jNode) {
var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent ('click', true, true);
jNode[0].dispatchEvent (clickEvent);
}

waitForKeyElements (
"a:contains('Restart')",
clickit
);

这是我的版本不起作用:

function clickit () {
$("a:contains('Start Again')").click();
}

waitForKeyElements (
"a:contains('You have run out of turns.')",
clickit
);

最佳答案

使用 DOM 元素的 innerHTML 并不是存储系统状态的最佳方式。如果我是你,我会完全采用另一种方法。

在您的游戏中,当您用完轮次时,您希望显示文本“您已用完轮次”并重新开始。所以直接(而不是间接)阐明这一点。

function takeTurn() {
turnsLeft -= 1;
if (turnsLeft <= 0) {
showGameOverMessage();
startAgain();
}
}

这将使您的代码更易于理解。

startAgain 可以在用户点击时触发,也可以从您的应用程序逻辑中调用。让操作成为一等公民,而不是用户交互或副作用。

关于javascript - 与 .click() 一起使用的 waitForKeyElements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32655759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com