2012-06-06 2 views
0

Я пытаюсь проверить свой код, и есть кнопка отправки, которую я должен нажать, НО эта кнопка отправки получит динамическое имя. как я могу щелкнуть по этому ключу с помощью сценария selenium без использования идентификатора.нажмите кнопку отправки без идентификатора?

<td> 
    <button type="submit" value="Allow All" class="btn btnC bglb mfss touchable" 
    id="xhp647364382646" role="button" data-meta="0_3" 
    data-sigil="extra-perms-button blocking-touchable"> Allow All </button> 
</td> 

ответ

2

WebElement имеет представить метод. Если вы можете получить веб-элемент, который находится внутри формы, вы можете вызвать webelement.submit(). Это в JAVA. Вы должны иметь что-то подобное в рубин

недействительной подати()

Если текущий элемент является формой или элемент в форме, то это будет представлено на удаленный сервер. Если этот заставляет текущую страницу изменять, то этот метод будет блокироваться до , загружается новая страница. Броски: NoSuchElementException - Если данный элемент не в форме

+0

как насчет если есть два представить в форме!? –

+0

Можете ли вы опубликовать HTML-форму этой формы - по крайней мере, для обеих кнопок отправки? –

0

Я не уверен, что все ваш код выглядит и где другая кнопка отправка, но если есть 2 кнопки отправки, вы можете попробовать делать

buttons = browser.find_elements_by_css_selector("button[type='submit']")

или что-то подобное, что будет возвращать все кнопки представить. Уведомление elements - это множественное число в имени функции, есть также номер find_element_by_css_selector (unpluralized). Затем, вы можете получить доступ к кнопке, которую с помощью

buttons[0]

, то вы можете отправить по

buttons[0].click()

Смежные вопросы