Para quem teve problemas assim como eu nos testes substitua
$googleResultList = $domCrawler->filterXPath('//div[@class="ZINbbc xpd O9g5cc uUPGi"]');
por
$googleResultList = $domCrawler->filterXPath('//div[@class="Gx5Zad fP1Qef xpd EtOod pkphOe"]');
Dessa forma a função createGoogleResultList ficará assim:
private function createGoogleResultList(DomCrawler $domCrawler): DomCrawler
{
$googleResultList = $domCrawler->filterXPath('//div[@class="Gx5Zad fP1Qef xpd EtOod pkphOe"]');
if ($googleResultList->count() === 0) {
throw new InvalidGoogleHtmlException('No parsable element found');
}
return $googleResultList;
}
Como o professor disse nas aulas essa classe muda muito por isso a falha nos testes.