Javascript 按类单击元素+;抵消
我正在尝试单击此处的upvote reddit图标: 我使用了Javascript 按类单击元素+;抵消,javascript,html,Javascript,Html,我正在尝试单击此处的upvote reddit图标: 我使用了javascript:document.getElementById(“#ID”).click()但元素没有ID 所以我将其设置为javascript:document.getElementsByClassName(“向上箭头登录所需访问权限”)。单击() 现在,如果你查看页面,有多个投票部分,所以你需要偏移量,但我不知道如何将两者结合起来 我尝试查看以下资源,但无法理解它们: 免责声明: 我不建议创建自动升级reddit的机
javascript:document.getElementById(“#ID”).click()代码>但元素没有ID
所以我将其设置为javascript:document.getElementsByClassName(“向上箭头登录所需访问权限”)。单击()代码>
现在,如果你查看页面,有多个投票部分,所以你需要偏移量,但我不知道如何将两者结合起来
我尝试查看以下资源,但无法理解它们:
免责声明:
我不建议创建自动升级reddit的机器人,因为这违反了他们的条款和条件。此答案仅用于教育目的。使用此答案的风险自负
试图通过CSS偏移量来判断是没有意义的:您将以随机顺序得到多个注释
幸运的是,reddit注释有一个id(打开浏览器的开发工具):\thing\u t1\u cx02unv
。由于“向上投票”按钮是帖子的直接子项。为了避免在注释上获得注释中包含的所有向上投票按钮,可以使用JQuery子级>
选择器,它只选择直接子级
您可以尝试使用普通的Javascript,但复杂的查询最好使用
投票按钮包装在midcol
中,向上箭头有一个.arrow.up
类,因此可以使用此选择器:
$(".arrow.up > .midcol > #thing_t1_cx02unv")
点击:
$(".arrow.up > .midcol > #thing_t1_cx02unv").click()
getElementsByClassName
返回节点列表,而不是节点。因此,您需要确定要使用的项目
您应该使用[index]
语法
所以document.getElementsByCassName(“需要向上箭头登录才能访问”)[0]。单击()
将在第一个箭头处触发