2017-03-11 58 views
1

我试图通过实施phantomJs自动下载在我的WordPress网站的插件。出于某种原因,我似乎访问不能下载按钮(如下图所示) ​​如何访问和点击按钮PhantomJS

这是HTML代码的图像(域敏感信息模糊出于安全目的)

enter image description here 到目前为止,我通过使用下面的代码已经尝试访问该元素:

function() { 
page.evaluate(function() { 
    let mainLink = document.querySelector('a[data-slug="better-wp-security"]') 
    mainLink.click() 
    }) 
} 

有些事情要提:

  • 这个功能,因为它是一个较大的文件的一部分,将不会执行,直到页面加载完成。
  • PhantomJS正在执行正确,没有权限问题
  • 该脚本事先已正确访问安装插件页面,我通过在尝试点击前捕获截图进行了验证。
  • 我刚才定义click诠释他的文件,它完美的作品。

任何想法我怎么能做到这一点?谢谢大家!

添加的信息: 看来,如果从主div元素的路径如下:

#the-list .plugin-card plugin-card-better-wp-security .plugin-card-top .action-links .plugin-action-buttons .install-now button 

我想解决这个问题,有事情做与此序列。

+0

我不知道最后有什么不对? – Vaviloff

+0

@Vaviloff出于某种原因,PhantomJS无法找到具有指定数据块的元素。我所要做的就是找到按钮,以便我可以点击它。 – Ethan

回答

0

我能够通过data-slug属性后,现在要去,但href元素本身之后,而要做到这一点。虽然我不能产生自己wponce值,而不使用REST API的,我是能够搜索的文档找到一个href包含URL的某些部分。这是下面的最终代码:

document.querySelector('a[href*="action=install-plugin&plugin=better-wp-security"]').click() 

就是这样!简单而简单!