如何使用 Javascript 访问奇怪的 Canvas 中的元素?
How to access elements in strange Canvas with Javascript?
我是 javascript 的新手,我一直在研究一个简单的用户脚本,它可以点击网页上的按钮(我无法控制。)我在获取和点击时没有遇到任何问题按钮或带有侦听器的 div,但是,我需要单击一个按钮,该按钮仅在单击第一个按钮后出现。当我在此检查元素时,它给我的只是一个围绕按钮的空 Canvas。我浏览了整个源代码,但在任何地方都找不到这些按钮!如何使用 JavaScript 访问它们?
这是 Agar.io 中此类框和按钮的示例(嘿,这是我能找到的第一个地方!)
这是弹出窗口:
Three button Popup
这是与检查元素关联的代码:
<div data-v-9c4d2b0c="" id="openfl-content" style="transform: translate(0%, -50%) scale(0.895); cursor: default;"><canvas style="transform: translateZ(0px); width: 880px; height: 1024px; margin-left: 0px; margin-top: 0px;" width="880" height="1024"></canvas></div>
谁能帮我找到我的纽扣!
here is one button I need to click which only appears after a first button has been clicked
关于延迟按钮出现 - 您可以在 setInverval() 循环中搜索您的最终按钮:
像这样
const interval = setInterval(function(){
var $wrapper = $('.buttonWrapperOrAnythingThatContainsYourButton');
if ($wrapper.length > 0) {
var $btn = $wrapper.find('[that-buttons-special-attribute]');
if ($btn.length > 0){
$btn.trigger('click'); // or something (if your button is a clickable DOM element), if not - see the comment blow
clearInterval(interval);
}
}
}, 500);
这种方法非常简单,仅适用于可点击的 DOM 元素。如果您的按钮隐藏在 Canvas 内的某处 - 您将进行更复杂的 "click" 模拟,请参阅此答案以了解如何在确切位置单击 Canvas:
simulate a mouse down and up on a canvas html5 page
我是 javascript 的新手,我一直在研究一个简单的用户脚本,它可以点击网页上的按钮(我无法控制。)我在获取和点击时没有遇到任何问题按钮或带有侦听器的 div,但是,我需要单击一个按钮,该按钮仅在单击第一个按钮后出现。当我在此检查元素时,它给我的只是一个围绕按钮的空 Canvas。我浏览了整个源代码,但在任何地方都找不到这些按钮!如何使用 JavaScript 访问它们? 这是 Agar.io 中此类框和按钮的示例(嘿,这是我能找到的第一个地方!)
这是弹出窗口: Three button Popup
这是与检查元素关联的代码:
<div data-v-9c4d2b0c="" id="openfl-content" style="transform: translate(0%, -50%) scale(0.895); cursor: default;"><canvas style="transform: translateZ(0px); width: 880px; height: 1024px; margin-left: 0px; margin-top: 0px;" width="880" height="1024"></canvas></div>
谁能帮我找到我的纽扣!
here is one button I need to click which only appears after a first button has been clicked
关于延迟按钮出现 - 您可以在 setInverval() 循环中搜索您的最终按钮:
像这样
const interval = setInterval(function(){
var $wrapper = $('.buttonWrapperOrAnythingThatContainsYourButton');
if ($wrapper.length > 0) {
var $btn = $wrapper.find('[that-buttons-special-attribute]');
if ($btn.length > 0){
$btn.trigger('click'); // or something (if your button is a clickable DOM element), if not - see the comment blow
clearInterval(interval);
}
}
}, 500);
这种方法非常简单,仅适用于可点击的 DOM 元素。如果您的按钮隐藏在 Canvas 内的某处 - 您将进行更复杂的 "click" 模拟,请参阅此答案以了解如何在确切位置单击 Canvas: simulate a mouse down and up on a canvas html5 page