Как получить доступ к элементам в странном Canvas с помощью Javascript? - PullRequest
0 голосов
/ 30 октября 2018

Я довольно новичок в javascript, и я работаю над простым пользовательским скриптом, который нажимает кнопки на веб-странице (которую я не могу контролировать.) У меня не было проблем с получением и нажатием кнопок или элементов div со слушателями, однако есть одна кнопка, которую мне нужно нажать, которая появляется только после нажатия первой кнопки. Когда я проверяю элемент на этом, все, что он мне дает, это пустой холст, окружающий кнопки. Я просмотрел весь источник и нигде не могу найти эти кнопки! Как я могу получить к ним доступ с помощью JavaScript? Вот пример такой коробки и кнопки в Agar.io (эй, это первое место, где я мог найти такую!)

Это всплывающее окно: всплывающее окно с тремя кнопками

А это код, связанный с элементом проверки:

<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>

Кто-нибудь, пожалуйста, помогите мне найти мои кнопки!

1 Ответ

0 голосов
/ 30 октября 2018

вот одна кнопка, которую мне нужно нажать, которая появляется только после нажатия первой кнопки

относительно появления отложенных кнопок - вы можете искать свою последнюю кнопку внутри цикла 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 - у вас будет более сложная симуляция «щелчка», пожалуйста, обратитесь к этому ответу, чтобы узнать, как нажать Canvas в точном положении: Имитация мыши вниз и вверх на странице HTML5 холста

...