selectButton и щелкните с помощью скребка Goutte PHP

Мне нужно нажать кнопку «Просмотреть больше» на моей странице, но это не форма, это кнопка типа кнопки.

Мой код выглядит так:

$client = new Client();
$crawler = $client->request('GET', 'https://www.xxxx.com');
$button = $crawler->selectButton('View more');
$client->click($button);

Это возвращает:

Уловимая фатальная ошибка: аргумент 1, переданный в Symfony\Component\BrowserKit\Client::click(), должен быть экземпляром Symfony\Component\DomCrawler\Link, переданным экземпляром Symfony\Component\DomCrawler\Crawler, вызванным в C:\xampp \htdocs\scraper\index.php в строке 17 и определено в C:\xampp\htdocs\scraper\vendor\symfony\browser-kit\Client.php в строке 238

Любые идеи, что может быть не так?


person Alexis Cervetto    schedule 08.09.2018    source источник


Ответы (1)


Согласно документации:

В Crawler доступен метод selectButton(), который возвращает другой Crawler, соответствующий кнопке (input[type=submit], input[type=image] или кнопке) с заданным текстом.

Собственно, об этом и говорит ошибка: параметр, полученный click(), является crawler, хотя должен быть Link. Я не знаком с goutte scraper , но пробовали ли вы:

$button = $crawler->selectButton('View more')->button();
$client->click($button);
person SebaGra    schedule 08.09.2018