У меня есть следующие элементы HTML:
1)
<span class="input-group-btn">
<button type="submit" class="btn btn-default" data-qa-
id="main-
go-button">Go</button>
</span>
2)
<span class="input-group-btn" style="float: left;"><button type="button"
wkda-autocomplete-update="update" class=" btn btn-default" data-qa-
id="">Change</button></span>
3)
<span class="input-group-btn"><button type="button" wkda-autocomplete-
update="update" class=" btn btn-default" data-qa-id="">Change</button></span>
поиск искомого элемента:
browser.find_elements_by_class_name("input-group-btn")
возвращает список из трех элементов, поскольку есть три html-части с одинаковой структурой:
[<selenium.webdriver.remote.webelement.WebElement
(session="1fc51e63b34c7acfa37e3930c86fc46c", element="6bab5131-a508-41da-
a7b7-1ccaae8dabda")>,
<selenium.webdriver.remote.webelement.WebElement
(session="1fc51e63b34c7acfa37e3930c86fc46c", element="26dfeaa3-d54c-4652-
a84e-aae47d0574ba")>,
<selenium.webdriver.remote.webelement.WebElement
(session="1fc51e63b34c7acfa37e3930c86fc46c", element="7bb98d81-a576-41fd-
be70-2aa2564f76b9")>]
Я хочу выбрать и щелкнуть толькоТретий элемент этого списка, поэтому я делаю:
browser.find_elements_by_class_name("input-group-btn")[2].text
, и он отлично работает.
Хотелось бы найти этот элемент через WebDriverWait. Но когда я запускаю это:
WebDriverWait(browser, 10).until(EC.visibility_of_element_located((By.CLASS_NAME, "input-group-btn")))
, он находит только первый элемент предыдущего списка, поэтому он возвращает первый найденный элемент, но я хотел бы получить третий.
Знаете ли вы, есть ли способ захватить третий элемент вместо первого найденного?