Для удобства в этом вопросе я определил contents
const как мой HTML файл.
var webPage = require('webpage');
var page = webPage.create();
const contents = `
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript">
console.log("TEXT WITHIN HTML");
</script>
</head>
<body></body>
</html>
`;
page.open(contents, function(status) {
console.log('Status: ' + status);
page.evaluate("function() { console.log('page.evaluated stuff')}");
});
page.onConsoleMessage = function(msg, lineNum, sourceId) {
console.log('CONSOLE: ' + msg + ' (from line #' + lineNum + ' in "' + sourceId + '")');
};
При запуске $ phantomjs test.js
:
$ phantomjs test.js
Status: success
CONSOLE: page.evaluated stuff (from line # in "")
Он успешно ловит console.log
, что I page.evaluate
, но не тот, который находится в разделе <scripts>
файла HTML.
Почему это так? Я не очень хорошо знаком с Phantom js.