выберите кнопку и нажмите кнопку goutte scrapper PHP - PullRequest
0 голосов
/ 08 сентября 2018

Мне нужно нажать кнопку «Vew more» на моей странице, но это не форма, это кнопка типа «кнопка».

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

$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 \ scrapper \ index.php в строке 17 и определяется в C: \ xampp \ htdocs \ scrapper \ vendor \ symfony \ browser-kit \ Client.php в строке 238

Есть идеи? (

1 Ответ

0 голосов
/ 08 сентября 2018

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

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

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

$button = $crawler->selectButton('View more')->button();
$client->click($button);
...