field(0): {"idTweet":"943959778006589441"
field(1): "text":"Lorem ipsum"
field(2): "dolor sit"
field(3): "amet"
field(4): "..."}
所以这段代码显示了一个按钮列表,我需要一个代码,让我从最后一个按钮点击到第一个按钮,在我写的代码中,我通过css_selector发现按钮,它对所有按钮都相同。 我写的代码很好,但它从第一个按钮点击到最后一个按钮,我不知道如何反转它。
我写的代码就是这个
<ul>
<li>
<span class="_1OSdk">
<button class="_5f5mN -fzfL KUBKM yZn4P ">Segui già</button>
</span>
</li>
<li>
<span class="_1OSdk">
<button class="_5f5mN -fzfL KUBKM yZn4P ">Segui già</button>
</span>
</li>
<li>
<span class="_1OSdk">
<button class="_5f5mN -fzfL KUBKM yZn4P ">Segui già</button>
</span>
</li>
<li>
<span class="_1OSdk">
<button class="_5f5mN -fzfL KUBKM yZn4P ">Segui già</button>
</span>
</li>
<li>
<span class="_1OSdk">
<button class="_5f5mN -fzfL KUBKM yZn4P ">Segui già</button>
</span>
</li>
<li>
<span class="_1OSdk">
<button class="_5f5mN -fzfL KUBKM yZn4P ">Segui già</button>
</span>
</li>
<li>
<span class="_1OSdk">
<button class="_5f5mN -fzfL KUBKM yZn4P ">Segui già</button>
</span>
</li>
<li>
<span class="_1OSdk">
<button class="_5f5mN -fzfL KUBKM yZn4P ">Segui già</button>
</span>
</li>
<li>
<span class="_1OSdk">
<button class="_5f5mN -fzfL KUBKM yZn4P ">Segui già</button>
</span>
</li>
<li>
<span class="_1OSdk">
<button class="_5f5mN -fzfL KUBKM yZn4P ">Segui già</button>
</span>
</li>
</ul>
我有一个显示所有这些按钮的表格,我需要将代码从最后一个按钮点击到第一个按钮。 此代码单击从第一个按钮到最后一个按钮,所以我需要的反向。 (在我点击按钮时我必须运行此代码的网站上它会改变css_selector,所以我写的代码不会停在第一个元素上)
答案 0 :(得分:0)
我创建了一个片段,为每个按钮添加了一个onclick-event。如果单击,脚本将检查单击后面的按钮数量,并返回警报中的数字。 我实际上不知道你是如何在JS中使用Python的,因此我只使用普通的旧JS。
// code from the fiddle
var buttons = document.getElementsByClassName('KUBKM');
for (var i = 0, len = buttons.length; i < len; i++) {
buttons[i].onclick = function(e){
var li = e.target.parentNode.parentNode;
var i = 0;
while(li != null){
li = li.nextSibling;
if(li != null){
if(li.tagName == 'LI'){
i++;
}
}
}
//console.log('Button '+i+' was clicked');
alert('Button '+i+' was clicked');
}
}
答案 1 :(得分:0)
现在我理解你的问题了:你正试图获取这些按钮并从最后一个按钮点击它们,直到到达第一个按钮。
我认为这个片段应该有效:
#SEARCH FOR THE BUTTON THAT IT HAS TO CLICK
for button in reversed(driver.find_elements_by_css_selector("._5f5mN.-fzfL.KUBKM.yZn4P")):
button.click()
time.sleep(5)
# and the else-clause shouldn't be needed anymore