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

#laravel #laravel-dusk #laravel-5.8

#laravel #laravel-dusk #laravel-5.8

Вопрос:

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

 $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%) элемента.

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

Ответ №1:

Используйте getAttribute() :

 foreach ($elems as $elem) {
    $elem->getAttribute('href');
}