PhantomJSはGoogle Alert RSSフィードを作成する必要があるためダウンロードしましたが、APIは提供していません。PhantomJSにGoogleアラートの古いバージョンが表示されるのはなぜですか?
アクセスしたURLのレンダリングされたイメージが古いため、「配信先」を「RSS」に変更するなど、必要な操作を実行するページの要素が見つからない.......
これは何ですか?バグ?どのようにウェブサイトとブラウザとのアクセスが異なるのですか?
マイスクリプト:
var page = require('webpage').create(),
isLoaded,
controller,
isSubmitted = false
page.open('https://www.google.com/alerts', function() {
page.viewportSize = { width: 1920, height: 1080 }
page.settings.userAgent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36'
isLoaded = true
})
page.onLoadStarted = function() {
log('Loading page...')
}
page.onLoadFinished = function(status) {
log('Page has loaded.')
if (status !== 'success') {
log('The page has failed to load.')
exit()
} else {
if (isSubmitted) {
log('Submitted!')
clear()
exit()
} else {
controller = setInterval(function() {
if (isLoaded) {
isLoaded = false
fillUpInputField('input', 'PhantomJS')
} else {
selectRSSOption()
}
}, 7000)
}
}
}
function exit() {
phantom.exit()
}
function log(str) {
console.log(str)
}
function render(name) {
page.render(name + '.png')
}
function fillUpInputField(selector, query) {
page.evaluate(function(selector) {
document.querySelector(selector).focus()
}, selector)
page.sendEvent('keypress', query)
render('fill_up_form.png')
log('Rendered fill_up_form.png')
}
function selectRSSOption() {
page.evaluate(function() {
document.querySelector('.show_options').click()
})
render('show_options.png')
log('Rendered show_options.png')
}
ユーザーエージェント文字列を別のブラウザに置き換えてください。 – qqilihq
あなたのスクリプトを表示してください。 – Vaviloff
@Vaviloffが追加されました。 – mfgabriel92