Laravel Скрипт Dusk возвращает null, но тот же скрипт работает в инспекторе браузера - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь узнать, как автоматизировать работу браузера, используя Laravel Darkly . Я пытаюсь автоматизировать нажатие кнопки на веб-сайте, который имеет несколько атрибутов класса, каждый из которых также встречается в других кнопках, и ни одна из кнопок не имеет идентификатора.

Вот пример того, как настраиваются кнопки вверх:

// button 1
<button class="someClass ..."></button>

// button 2
<button class="someClass ..."></button>

Используя инспектор браузера, когда я запускаю document.querySelectorAll('.someClass')[0].click(), он успешно нажимает первую кнопку, а для document.querySelectorAll('.someClass')[1].click() нажимается вторая кнопка.

В моем * Код 1020 *, я использую следующую строку кода:

$this->browser( function (Browser $browser) {
    ...
    $browser->script("document.querySelectorAll('.someClass')[0].click()");
    ...
});

Но это не удается, и при расследовании выясняется, что document.querySelectorAll('.someClass') имеет значение null.

Это сбивает с толку, потому что все это работает в инспекторе, в чем может быть проблема? Или есть лучший способ добиться этого?

...