selenium 按钮,相同 class,onclick 搜索很多 '
selenium button , same class, onclick search with many '
我正在尝试单击 "Attack" 按钮。有 4 个具有相同文本的按钮。有一些代码正在处理它,但我无法弄清楚。你能帮我选择我想要的任何按钮吗?感谢帮助...
按钮 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]")
我还想了解如何使用之前定义的任何数据,而不是 class 名称或按钮名称或 ID..?
要获得特定按钮,请尝试使用 class 和索引,或者尝试使用您觉得舒服的文本和索引。
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()
我正在尝试单击 "Attack" 按钮。有 4 个具有相同文本的按钮。有一些代码正在处理它,但我无法弄清楚。你能帮我选择我想要的任何按钮吗?感谢帮助...
按钮 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]")
我还想了解如何使用之前定义的任何数据,而不是 class 名称或按钮名称或 ID..?
要获得特定按钮,请尝试使用 class 和索引,或者尝试使用您觉得舒服的文本和索引。
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()