Мне нужна помощь, чтобы понять две вещи неправильно с моим примером кода:
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 не запускается. Почему?
Спасибо заранее за ваш вклад!