Здравствуйте.
Селениум не корректно работает на сервере
#1
Отправлено 18 января 2019 - 11:59
#2
Отправлено 21 января 2019 - 07:38
Попробуйте использовать хеадлесс режим.
+ Сам сервер селениума уже староват, надо бы попробовать свежую версию.
#3
Отправлено 21 января 2019 - 08:56
Вот настройки селениума:
$host = 'http://localhost:4444/wd/hub'; // this is the default $capabilities = DesiredCapabilities::htmlUnitWithJS(); // For Chrome $options = new ChromeOptions(); $prefs = array('download.default_directory' => '/var/www/data/tmp_selenium/'); $options->setExperimentalOption('prefs', $prefs); $options->addArguments(array( '--window-size=1024,768', '--headless', '--no-sandbox' )); $capabilities = DesiredCapabilities::chrome(); $capabilities->setCapability(ChromeOptions::CAPABILITY, $options); $driver = RemoteWebDriver::create($host, $capabilities, 5000);
Так же пробовал версию 3.8.0 и это не помогло.
#4
Отправлено 21 января 2019 - 12:37
Сделайте размер окна такой же как у вас на десктопе. - --window-size=1024,768
#5
Отправлено 21 января 2019 - 13:00
Сделайте размер окна такой же как у вас на десктопе. - --window-size=1024,768
Устанавливал 1920х1080, выдало ошибку что функция js не определена (4 из 5 раз, на 5-й пошло дальше и достало половину матчей из всех, пришлось сервер перезапустить).
Так же попробовал 1620х800, так же половину только достает.
#6
Отправлено 23 января 2019 - 08:23
Прошу подскажите что может быть.
#7
Отправлено 25 января 2019 - 04:39
Прошу подскажите что может быть.
погоди, а сами запросы сайта смотрел? может проще апи запросом все вытянуть и не мучать селениум? Я полагаю, что все матчи подтягиваются, просто не все на странице, повторив запрос к их апи можно их все получить и скорее всего сразу в жсон формате - парсь потом как хочешь
#8
Отправлено 25 января 2019 - 09:08
Прошу подскажите что может быть.
погоди, а сами запросы сайта смотрел? может проще апи запросом все вытянуть и не мучать селениум? Я полагаю, что все матчи подтягиваются, просто не все на странице, повторив запрос к их апи можно их все получить и скорее всего сразу в жсон формате - парсь потом как хочешь
Да, я об этом уже думал. Но там приходит далеко не json, а какая-то непонятная строка, вот кусок с ответа:
SA÷1¬~ZA÷АВСТРАЛИЯ: Лига А¬ZEE÷OjWW1naM¬ZB÷24¬ZY÷Австралия¬ZC÷tdBtmknB¬ZD÷p¬ZE÷QismaKZH¬ZF÷0¬ZO÷1¬ZG÷1¬ZH÷24_OjWW1naM¬ZJ÷2¬ZL÷/football/australia/a-league/¬ZX÷00Австралия 009тралия0000000000186000Лига А
И как его привести в нормальный вид не понятно. А копать весь js код самого сайта не очень хочется (на первый взгляд там какая-то магия происходит, думаю проще настроить сам селениум).
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных