如何访问和单击按钮PhantomJS

时间:2017-03-11 05:49:07

标签: javascript wordpress phantomjs

我正在尝试通过实现phantomJs在我的wordpress网站上自动下载插件。出于某种原因,我似乎无法访问下载按钮(如下所示) enter image description here

这是图像的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

我想这个问题的解决方案与这个序列有关。

1 个答案:

答案 0 :(得分:0)

我现在可以通过追踪data-slug属性来完成此操作,而是追踪href元素本身。虽然我在不使用Rest API的情况下无法生成自己的wponce值,但我能够搜索文档以查找包含网址某些部分的href。这是下面的最终代码:

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

就是这样!简单易行!