Здравствуйте.
Хочу спарсить сайт на котором сразу после загрузки идет ajax запрос на добавление основного контента.
Собственно его я и хочу получить, но что не пробую постоянно выдает ошибку: "Unable to find element".
Пробовал так:
$host = 'http://127.0.0.1:4444/wd/hub';
$capabilities = DesiredCapabilities::firefox();
$driver = RemoteWebDriver::create($host, $capabilities, 5000);
$url = "https://www.myscore.ru";
$driver->get($url);
$driver->manage()->timeouts()->implicitlyWait(30);
$driver->wait(30, 1000)->until(
WebDriverExpectedCondition::elementToBeClickable( WebDriverBy::xpath('//*[@id="ifmenu-calendar"]/*[contains(@class,"tomorrow")]'))
);
// По другому:
$driver->wait()->until(
function () use ($driver) {
$e = $driver->findElements(WebDriverBy::cssSelector('#ifmenu-calendar .tomorrow'));
return count($e) == 1;
},
'Error'
);
Нашел на проверку состояния js:
$driver->wait(30, 2000)->until(function ($driver) {
return !$driver->executeScript('return jQuery.active');
});
Но ничего из этого не работает. Как можно это исправить?