Javascript 无法以编程方式单击<;a>;Greasemonkey脚本中的标记
我试图让Firefox中的Greasemonkey点击这个没有Javascript 无法以编程方式单击<;a>;Greasemonkey脚本中的标记,javascript,greasemonkey,Javascript,Greasemonkey,我试图让Firefox中的Greasemonkey点击这个没有href属性的锚点: <a class="btn btn-primary pull-right" ng-class="{'disabled': programsTabSubmitInProgress}" ng-click="handleAddProgramClick()"> <i class="fa fa-plus"></i> <span>Add Program<
href
属性的锚点:
<a class="btn btn-primary pull-right"
ng-class="{'disabled': programsTabSubmitInProgress}"
ng-click="handleAddProgramClick()">
<i class="fa fa-plus"></i>
<span>Add Program</span>
</a>
是否有人有正确的解决方案来单击此定位?代码应该可以正常工作。您确实需要确保单击了正确的元素: 根据注释,您实际上希望单击第五个这样的元素。那就是:
document.querySelectorAll('.btn.btn-primary.pull-right').item(4).click();
返回一个,其中我们是第五个
顺便说一句,您没有使用jQuery,因此不需要在脚本中要求它
<> P>而不是超时,考虑等待页面:
代码应该可以正常工作。您确实需要确保单击了正确的元素: 根据注释,您实际上希望单击第五个这样的元素。那就是:
document.querySelectorAll('.btn.btn-primary.pull-right').item(4).click();
返回一个,其中我们是第五个
顺便说一句,您没有使用jQuery,因此不需要在脚本中要求它
<> P>而不是超时,考虑等待页面:
那行代码就是你的Greasemonkey脚本中的全部吗?您可能应该等待页面加载。脚本文件的全部内容是什么?我更新了代码!我使用计时器,因此可以首先加载页面。jquery用于什么?您可以控制台.log()确定您的
document.querySelector('.btn.btn primary.pull right')
正在查找元素吗?我使用了类似的脚本来删除推特,我得到了使用jqueryrequire的click代码。这行代码在你的Greasemonkey脚本中都是吗?您可能应该等待页面加载。脚本文件的全部内容是什么?我更新了代码!我使用计时器,因此可以首先加载页面。jquery是做什么的?你能不能控制台.log()让你的文档.querySelector('.btn.btn primary.pull right')
找到元素?我使用了一个类似的脚本来删除推特,我得到了jquery所需的点击代码。
document.querySelectorAll('.btn.btn-primary.pull-right').item(4).click();
window.addEventListener('load', function() {
document.querySelectorAll('.btn.btn-primary.pull-right').item(4).click();
}, false);