кнопка селена, тот же класс, поиск по клику со многими - PullRequest
0 голосов
/ 06 февраля 2019

я пытаюсь нажать кнопку «Атака».Есть 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]")

Также я хочу узнать, как я могу использовать любые ранее определенные данные вместо имени класса или кнопкиимя или идентификатор ..?

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Еще один способ сделать это.

#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()
0 голосов
/ 06 февраля 2019

Чтобы получить определенную кнопку, попробуйте с классом и индексом ИЛИ попробуйте с текстом и индексом, если вам удобно.

driver.find_element_by_xpath("(//button[text()[contains(.,'Attack')]])[indexval]")
driver.find_element_by_xpath("(//button[@class='expedition_button awesome-button '])[indexval]")

Для кнопки 1:

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 просто увеличьте значение индекса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...