2016-10-20 5 views
0

У меня возникла проблема при нажатии кнопки на Python Selenium с тем же идентификатором У меня есть две кнопки на одной странице с именем «Загрузить» и «Создать базовую форму», но два идентификатора кнопок одинаковы. Я выберу кнопку «Создать базовую форму». Идентификатор кнопки также такой же. я приложу образ инспектора Image of Id for buttonТот же идентификатор кнопки в python selenium

+0

Обновите свой билет с помощью 'HTML' для обеих кнопок, но не для изображения. Также добавьте вопрос, поскольку есть только описание проблемы – Andersson

ответ

0

Хотя это хорошая практика, чтобы найти элементы от Id, Name или CssClass, в некоторых случаях вы будете в конечном итоге в зависимости от более конкретных свойств , так что вы можете исключительно найти элемент. Наиболее распространенным решением является использование XPath.

В вашем случае, что-то вроде

driver.find_element_by_xpath("//button[@id='uploadButton' and @value='Upload']").click() 

Должно работать. Обратите внимание, что если другая кнопка также имеет тот же атрибут , вам нужно узнать, что уникально в том элементе, который вы пытаетесь найти, и использовать его с XPath.

В качестве альтернативы, вы можете также сделать

driver.find_element_by_xpath("(//button[@id='uploadButton'])[buttonNumber]").click() 

Где buttonNumber является показателем, который идет от 1 до п, в соответствии с количеством кнопок вы с тем же идентификатором.

This статья может помочь вам с размещением элементов.

0

Использование XPath

//input[@id='eRetVO.fileExtend']/../input[2] 
Смежные вопросы