我尝试点击“攻击”按钮。有有相同的文本4按钮。有码IM就可以工作,但我不能figgure出来。你能帮我挑,我想任何按钮。感谢帮助...
按钮1:
<button class="expedition_button awesome-button " onclick="attack(null, '2', 1, 0, '')">Attack</button>
按钮2:
<button class="expedition_button awesome-button " onclick="attack(null, '2', 2, 0, '')">Attack</button>
按钮3:
<button class="expedition_button awesome-button " onclick="attack(null, '2', 3, 0, '')">Attack</button>
按钮4:
<button class="expedition_button awesome-button " onclick="attack(null, '2', 4, 0, '')">Attack</button>
我想下面这些代码:
self.web.find_element_by_xpath("(//button[@class=expedition_button awesome-button 'Attack'])[3]")
此外,我想了解我如何才能够使用任何定义的数据,而不是类名或按钮名称或ID ..?
要获得特定按钮带班和索引或尝试用文字和指标无论你舒适的尝试。
driver.find_element_by_xpath("(//button[text()[contains(.,'Attack')]])[indexval]")
driver.find_element_by_xpath("(//button[@class='expedition_button awesome-button '])[indexval]")
为Button1:
driver.find_element_by_xpath("(//button[text()[contains(.,'Attack')]])[1]")
要么
driver.find_element_by_xpath("(//button[@class='expedition_button awesome-button '])[1]")
类似地,对于按钮2,3,4只是增加的索引值。
另一种方式来做到这一点。
#You will get all 4 buttons xpath in a list
elements=driver.find_elements_by_xpath("//button[text()[contains(.,'Attack')]]")
#Now Iterate this It will click each button
for element in elements:
print(element.text)
element.click()