2013-07-01 3 views
1

Я хочу войти на веб-страницу с формой, подобной этойPython и Селен найти элемент с не точным именем

<form name="input" action="html_form_action.asp" method="get"> 
Username: <input type="text" name="user"> 
<input type="submit" value="Submit"> 
</form> 

Проблема в том, в этом примере имя поля пользователя является «пользователем» и Я буду регистрироваться на нескольких сайтах.

Как найти поиск нескольких имен элементов? или как найти элемент с «именем пользователя» или «пользователем» в тексте имени

Т.е. browser.find_element_by_name ('user' или 'username')

ответ

2

Если вы используете xpath (я думаю, CSS тоже поддерживает его, но я не уверен), вы можете использовать более сложное логическое выражение в селекторе. Например, выберите элемент с именем, содержащим «пользователь», или имя, которое имеет имя «пользователь» или «имя пользователя».

browser.find_element_by_xpath('//input[contains(@name, "user")]') 
browser.find_element_by_xpath('//input[@name="user" or @name="username"]') 

(я признаю, что ржавый на XPATH, так что если те не работают точно так, как написано, пожалуйста, комментарий по этому поводу.)

+0

Благодаря кучу :) – InstallGentoo

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