我正在尝试点击包含此HTML代码的页面中的某些按钮
<div class="a">
<span>
<a class="b" role="button">test</a>
</span>
</div>
所以我所尝试的只是参加div的班级a
var buttons = document.getElementsByClassName('a').getElementsByClassName('b');
for(var i = 0; i <= buttons.length; i++)
buttons[i].click();
无论如何都要获得类名为b
的按钮,但只有div中的类名a
??
P.S。我也尝试了这个
var buttons = document.getElementsByClassName('a').getElementsByTagName('span').getElementsByClassName('b');
for(var i = 0; i <= buttons.length; i++)
buttons[i].click();
但是当我[ ]
console.log(buttons)
作为回应
答案 0 :(得分:2)
您可以使用querySelector来解决此问题。
document.querySelectorAll(“div.a a.b”);
答案 1 :(得分:0)
由于只会为root
分配一个div,您可以提供ID,或者,您可以执行此操作:
<figure class="figure">
<img src="..." width="200px" height="200px" class="figure-img img-fluid img-rounded" alt="A generic square placeholder image with rounded corners in a figure.">
<figcaption class="figure-caption">A caption for the above image.</figcaption>
</figure>
class='a'
这很有效,这里是:https://jsfiddle.net/nd8m7mms/4/
答案 2 :(得分:0)
您可以使用jquery并执行
var buttons = $(&#39; .a&gt; .b&#39;);
答案 3 :(得分:0)
这是一个XPath解决方案:
let res = document.evaluate('//*[@class="a"]//*[@class="b"]',document,null,XPathResult.ANY_TYPE,null);
res.iterateNext().click();
&#13;
<div class="a">
<span>
<a class="b" role="button" onclick="console.log('clicked!')">test</a>
</span>
</div>
&#13;