Laravel Dusk, как выполнить RightClick для каждого элемента?

Я использую Laravel 5.8 - Сумерки.

Я хотел бы знать, как я могу щелкнуть правой кнопкой мыши по каждому элементу при их повторении в следующем примере:

$browser->visit('https://www.website.com')
        ->script('window.scrollTo(0, 10000);');

$elems = $browser              
          ->pause(1000)
          ->elements('.selectable');

foreach ($elems as $elem) {
   $elem->rightClick(); // this does not work
}

Можно ли выполнить щелчок правой кнопкой мыши ИЛИ событие перетаскивания для каждого из элементов? В основном я хочу выполнить любое действие над элементом, потому что javascript изменяет атрибут элемента, если его щелкнуть, перетащить и т. д.


person Radical_Activity    schedule 14.03.2019    source источник
comment
Вы видели laravel.com/docs/dusk#using-the-mouse? ?   -  person Jonas Staudenmeir    schedule 14.03.2019
comment
@JonasStaudenmeir Ага, видел. Я также просмотрел файлы и нашел метод rightClick, но по какой-то причине не могу использовать его при переборе элементов.   -  person Radical_Activity    schedule 14.03.2019


Ответы (1)


Вы можете использовать код из метода rightClick():

foreach ($elems as $elem) {
    (new WebDriverActions($browser->driver))->contextClick($elem)->perform();
}
person Jonas Staudenmeir    schedule 14.03.2019
comment
Отлично! Большое спасибо за вашу помощь еще раз! :-) - person Radical_Activity; 14.03.2019