Я использую phantomjs и webdriverio для извлечения и рендеринга веб-страницы, загружаемой javascript, а затем сохраните ее для последующего анализа cheerio. Вот код для этого:Процесс PhantomJS продолжает работать в фоновом режиме после вызова program.kill()
import phantomjs from 'phantomjs-prebuilt'
const webdriverio = require('webdriverio')
const wdOpts = {
desiredCapabilities: {
browserName: 'phantomjs'
}
}
async parse (parseUrl) {
return phantomjs.run('--webdriver=4444').then(program => {
return webdriverio.remote(wdOpts)
.init()
.url(parseUrl)
.waitForExist('.main-ios', 100000)
.pause(5000)
.getHTML('html', true)
.then((html) => {
program.kill()
return html
})
})
}
Даже если я называю program.kill()
я замечаю, что phantomjs в списке процессов, и это использовать совсем немного оперативной памяти и процессора.
Мне интересно, почему процесс не заканчивается.
Спасибо за ответ, я не уверен, как это реализовать. Я запускаю узловое приложение, поэтому я просто выполнил установку «npm install» и потребовал «phantomjs» из моего сценария. Поскольку я не использую автономный сервер, я не уверен, что это будет возможно –