根据上一个问题 Previous question
我有这个按钮 我希望你帮我用javascript代码点击它。 这是按钮的类。
点击
<a class="UFILikeLink" href="#" role="button" aria-label="Like this" aria-live="polite" data-ft="{"tn":">"}" data-reactid=".19l">
<i class="UFILikeLinkIcon img sp_nbjSKc2Bl8j sx_49c162" data-reactid=".19l.0"></i>
<span data-reactid=".19l.1">Like</span></a>
点击
<a class="UFILikeLink UFILinkBright" href="#" role="button" aria-label="Unlike this" aria-live="polite" data-ft="{"tn":">"}" data-reactid=".19l">
<i class="UFILikeLinkIcon img sp_nbjSKc2Bl8j sx_df3f80" data-reactid=".19l.0">
</i><span data-reactid=".19l.1">Like</span></a>
@dikkini用这段代码构建了一个解决方案
var el = document.getElementsByClassName('UFILikeLink');
for (var i=0; i<el.length; i++) {
var ele = el[i];
if (!hasClass(ele, "UFILinkBright")) {
ele.click();
}
}
function hasClass(element, cls) {
return (' ' + element.className + ' ').indexOf(' ' + cls + ' ') > -1;
}
但现在我有一个额外的按钮具有相同的CLASS但不同的标题。 当我执行2次javascript代码时,第二个按钮也被按下。 但我不希望它被推动。无论我多少次执行dikkini建议的代码。
此按钮的代码是..
<a class="UFILikeLink" data-ft="{"tn":">"}" href="#" role="button" title="Like this comment" data-reactid=".1h.1:4:1:$comment535881486576364_535889293242250/=10.0.$right.0.$left.0.3.$likeToggle/=10">Like</a>
你可以看到它有一个标题。有人可以帮我做一个if语句所以如果它有这个标题不推动吗? 非常感谢!
答案 0 :(得分:3)
要检查标题,您可以使用:
var el = document.getElementsByClassName('UFILikeLink');
for (var i=0; i<el.length; i++) {
var ele = el[i];
if (!hasClass(ele, "UFILinkBright") && ele.getAttribute('title').indexOf('Like this comment') == -1) {
ele.click();
}
}
function hasClass(element, cls) {
return (' ' + element.className + ' ').indexOf(' ' + cls + ' ') > -1;
}
或者你仍然可以检查上一个问题的咏叹调标签解决方案:
这适用于aria-label
属性代码:
var el = document.getElementsByClassName('UFILikeLink');
for (var i=0; i<el.length; i++) {
var ele = el[i];
if (ele.getAttribute('aria-label').indexOf('Unlike this') == -1) {
ele.click();
}
}
JSFiddel
表示aria-label attribtue代码。
答案 1 :(得分:0)
Array.from(document.querySelectorAll('._4l5 .UFILikeLink')).forEach(btn => {
btn.click();
});
这是您正在寻找的代码。它使用类UFILikeLink命中按钮,该类位于具有类_4l5的div中。而且您不必担心具有相同类别的其他按钮。希望它有所帮助。