Задать вопрос
@kupurim

Почему в Selenium faсebook webDriver не хочет работать wait?

Здравствуйте.
Хочу спарсить сайт на котором сразу после загрузки идет 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');
});

Но ничего из этого не работает. Как можно это исправить?
  • Вопрос задан
  • 100 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы