硒按钮,同一个班级,用的onclick许多搜索“

问题描述 投票:0回答:2

我尝试点击“攻击”按钮。有有相同的文本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 ..?

python selenium button onclick buttonclick
2个回答
0
投票

要获得特定按钮带班和索引或尝试用文字和指标无论你舒适的尝试。

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只是增加的索引值。


0
投票

另一种方式来做到这一点。

#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()
© www.soinside.com 2019 - 2024. All rights reserved.