Я пытаюсь очистить Purestorage Career page, чтобы извлечь список вакансий в оранжерею. Когда я пытаюсь загрузить страницу через PhantomJS, я иногда вижу полную отображаемую страницу, содержащую список вакансий в оранжерее job, и иногда я получаю только частичную рендеринговую страницу, у которой нет парниковых URL-адресов.PhantomJS не делает все звонки AJAX при каждой загрузке страницы
Увидев исходный код страницы из Purestorage career page, я вижу следующий код
<div class="container" data-component-name="embed-greenhouse" data-component-url="/api/jobs/v1/jobs.ws.json">
<div id="alert-container" class="container">
</div>
<div class="row">
<div class="col-sm-12 results-col" id="greenhouse">
</div>
</div>
</div>
Похоже, они загружаются работы путем выдачи запроса GET к json url. Тем не менее, PhantomJS не ВСЕГДА делает этот запрос.
Как я могу убедиться, что все вызовы AJAX выполняются PhantomJS. Это происходит из-за специальной структуры кода на этом конкретном веб-сайте?
Редактировать: Я использую Phantomjs 2.1.1. Я также попытался очистить кеш до загрузки страницы, но не повезло.
page.clearMemoryCache();
Зачем использовать PhantomJS, когда вы можете просто напрямую вызвать конечную точку API? – Eloims
Это более общий вопрос. Я просматриваю множество сайтов через PhantomJS, и этот конкретный случай не является результатом данных. –