PhantomJS - 无法点击页面上的任何元素

时间:2017-05-06 14:20:07

标签: javascript youtube phantomjs

您使用的是哪个版本的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);
});

出了什么问题?你之前有过类似的情况吗?

0 个答案:

没有答案