Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何访问和单击按钮PhantomJS_Javascript_Wordpress_Phantomjs - Fatal编程技术网

Javascript 如何访问和单击按钮PhantomJS

Javascript 如何访问和单击按钮PhantomJS,javascript,wordpress,phantomjs,Javascript,Wordpress,Phantomjs,我试图通过实现phantomJs在我的wordpress站点上自动下载一个插件。由于某些原因,我似乎无法访问下载按钮(如下所示) 这是图像的HTML代码(出于安全目的,模糊了域敏感信息) 到目前为止,我已尝试使用以下代码访问此元素: function() { page.evaluate(function() { let mainLink = document.querySelector('a[data-slug="better-wp-security"]') mainLink.c

我试图通过实现phantomJs在我的wordpress站点上自动下载一个插件。由于某些原因,我似乎无法访问下载按钮(如下所示)

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

到目前为止,我已尝试使用以下代码访问此元素:

function() {  
page.evaluate(function() {
  let mainLink = document.querySelector('a[data-slug="better-wp-security"]')
  mainLink.click()
    })
 }
值得一提的是:

  • 此函数是较大文件的一部分,在页面完成加载之前不会执行
  • PhantomJS正在正确执行,权限没有问题
  • 手边的脚本正确地访问了InstallPlugins页面,在尝试单击之前,我通过截图验证了这一点
  • 我之前在文件中定义了
    单击
    ,它工作得非常好
你知道我怎样才能做到这一点吗?谢谢大家

新增信息: 似乎主
div
元素的路径如下所示:

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

我想这个问题的答案与这个顺序有关

我现在能够完成这项工作,只需执行
数据段塞
属性,而不是执行
href
元素本身。虽然我无法在不使用RESTAPI的情况下生成自己的
wponce
值,但我能够搜索文档以找到包含url某些部分的
href
。以下是最终代码:

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

就这样!简单易用

我现在能够完成这项工作,只需执行
数据段塞
属性,而不是执行
href
元素本身。虽然我无法在不使用RESTAPI的情况下生成自己的
wponce
值,但我能够搜索文档以找到包含url某些部分的
href
。以下是最终代码:

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

就这样!简单易用

我不确定到底出了什么问题?@Vaviloff出于某种原因,PhantomJS无法找到具有指定数据段塞的元素。我所要做的就是找到按钮,然后单击它。我不确定到底出了什么问题?@Vaviloff出于某种原因,PhantomJS无法找到具有指定数据段塞的元素。我所要做的就是找到按钮,这样我就可以点击它了。