Нажимайте на кнопки одну за другой - PullRequest
0 голосов
/ 04 марта 2019

Это мой HTML-код.У меня есть список кнопок.

<button class= "message-anywhere-button mn-connection-card__message-btn button-secondary-medium" aria-label="hello" data-ember-action="" data-ember-action-62="62">
<span aria-hidden="true"> Msg</span>
<span class="visually-hidden"> hello</span>

Я хочу нажимать кнопки "Msg" по одной.Я использую селен, и это мой код number=10

for x in number:
driver.find_element_by_css_selector(".button-secondary-medium").click()

Он обращается только к первой кнопке 10 раз.После доступа к первой кнопке я хочу получить доступ ко второй, и так далее

Ответы [ 3 ]

0 голосов
/ 04 марта 2019

Пожалуйста, попробуйте приведенный ниже фрагмент

xButtons = driver.find_elements_by_class_name('your class name')

for x in xButtons:
 x.click()
 browser.back() // if clicking a button navigates to diff page

Приветствия!

0 голосов
/ 04 марта 2019

Если вы хотите использовать индексы, как вы упомянули for x in number:, вам нужно использовать range. Попробуйте это.

elements=driver.find_elements_by_css_selector(".button-secondary-medium")
for x in range(len(elements)):
    elements[x].click()
0 голосов
/ 04 марта 2019

Вы можете поместить все элементы в переменную и использовать их в цикле.

all_elems = driver.find_elements_by_css_selector(".button-secondary-medium")

for elem in all_elems:
    if elem.is_displayed():
        elem.click()
...