您使用的是哪个版本的PhantomJS?提示:run phantomjs --version
。
2.1.1
哪些步骤会重现此问题?
1.1运行第一个示例:phantom app.js
1.2 open youtube.png
2.1使用以下代码运行第二个示例:phantom app.js
2.2 open yahoo.png
您使用的是哪种操作系统?
macOS Sierra 10.12.4 (16E195)
你使用二进制PhantomJS还是从源代码编译它?
我是通过brew install phantomjs
安装的。
请在下面提供任何其他信息。
我写了一个试图登录YouTube的脚本。谷歌更新他们的风格后,我改变了它并重写了它。到目前为止我注意到,phantomJS无法点击页面上的任何元素。我不知道为什么...页面上的所有元素都存在,ID是正确的。这是源代码:
console.log('Loading a web page');
var page = require('webpage').create();
var url = 'https://accounts.google.com/signin/v2/identifier?hl=en&uilel=3&service=youtube&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Ffeature%3Dsign_in_button%26next%3D%252F%26hl%3Den%26action_handle_signin%3Dtrue%26app%3Ddesktop&flowName=GlifWebSignIn&flowEntry=ServiceLogin';
page.open(url, function() {
page.evaluate(function() {
document.getElementById('identifierId').value = "test@test.com";
document.getElementBtId('identifierNext').click();
});
setTimeout(function(){
page.render("youtube.png");
phantom.exit();
}, 5000);
});
我重写了这段代码,以便在其他页面上测试它 - 雅虎。一切都按预期工作。这是代码:
console.log('Loading a web page');
var page = require('webpage').create();
var url = 'https://www.yahoo.com/';
page.open(url, function() {
page.evaluate(function() {
document.getElementById('uh-search-box').value = "test@test.com";
document.getElementById('uh-search-button').click();
});
setTimeout(function(){
page.render("yahoo.png");
phantom.exit();
}, 5000);
});
出了什么问题?你之前有过类似的情况吗?