Laravel Dusk, как получить несколько атрибутов элемента?

Я только начал использовать Laravel Dusk на Laravel 5.8 и уже столкнулся с проблемой. Много искал в гугле, но ответа не нашел.

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

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

Это мой текущий код для получения всех ссылок под определенным элементом на странице.

Что я хочу сделать, так это получить все ссылки и получить их атрибут href или любой пользовательский атрибут, который у них может быть (я хочу указать имя, если атрибут).

Я нашел это в документации:

$attribute = $browser->attribute('selector', 'value');

Но на самом деле это мне не помогает, потому что он получает только первый (или последний, я не уверен на 100%) атрибут элемента.

Итак, есть ли способ перебрать найденные элементы и извлечь их атрибуты?


person Radical_Activity    schedule 13.03.2019    source источник


Ответы (1)


Используйте 1_:

foreach ($elems as $elem) {
    $elem->getAttribute('href');
}
person Jonas Staudenmeir    schedule 13.03.2019
comment
Работает как шарм! Спасибо! - person Radical_Activity; 14.03.2019