Скрипт Phantomjs не печатает на консоль и не ждет загрузки страницы - PullRequest
0 голосов
/ 16 января 2019

Мне нужна помощь, чтобы понять две вещи неправильно с моим примером кода:

var url = 'https://www.zacks.com/earnings/earnings-calendar'; var fs = require('fs'); var page = require('webpage').create(); page.open(url, function(status) {
    if (status === 'success') {
        var html = page.evaluate(function() {           document.getElementById("tab9").click();            setTimeout(function(){
                console.log("2");           }, 5000);           return document.getElementById("earnings_rel_data_all_table_wrapper").outerHTML;
        });
        try {
            fs.write("C:\\Users\\Douglas\\Downloads\\phantomjs\\bin\\sales.txt", html, 'w');
        } catch(e) {
            console.log(e);
        }
    }
    phantom.exit(); });

Скрипт работает без ошибок. Сценарий сохраняет текстовый файл в каталог.

Вопрос 1. При просмотре следующего вывода сохраняется фраза «Загрузка», поэтому функция setTimeout не должна работать. Но почему? Какая синтаксическая ошибка у меня есть?

<td valign="top" colspan="10" class="dataTables_empty">
Loading...</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="bottom_value_wrapper">
<div class="dataTables_info" id="earnings_rel_data_all_table_info" role="status" aria-live="polite">
Showing 0 to 0 of 0 entries</div>

Вопрос 2: Ни одно из сообщений console.log не запускается. Почему?

Спасибо заранее за ваш вклад!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...