t.me/atinfo_chat Telegram группа по автоматизации тестирования

getAttribute возвращает AttributeError: 'WebElement' object has no attribute 'getAttribute'


(Andriy Stelmah) #1

При попытке вытянуть getAttribute у формы возвращает ошибку AttributeError: 'WebElement' object has no attribute 'getAttribute'

Код формы:
 
<input name="ctl00$ctl00$ctl00$ContentPlaceHolderDefault$MasterContentPlaceHolder$MyNemligPagePlaceholder$Item1$MyNemligEditProfileControl_4$MemberProfile$Invoice$InvoiceAddressFirstName" type="text" value="andriy" maxlength="25" id="ContentPlaceHolderDefault_MasterContentPlaceHolder_MyNemligPagePlaceholder_Item1_MyNemligEditProfileControl_4_MemberProfile_Invoice_InvoiceAddressFirstName" class="fname text idInvoiceAddressFirstName">
 
Пробую таким методом.
elm = self.driver.find_element_by_xpath("//*[@id='ContentPlaceHolderDefault_MasterContentPlaceHolder_MyNemligPagePlaceholder_Item1_MyNemligEditProfileControl_4_MemberProfile_Invoice_InvoiceAddressFirstName']")
elm.getAttribute("value")
 
 
подскажите где ошибка. 

(Mykhailo Poliarush) #2

ошибка в том, что вы программируете на python, а используете методы, которые использются в java

вот какой метод вам надо вызывать

http://selenium.googlecode.com/svn/trunk/docs/api/py/selenium/selenium.selenium.html?highlight=attribute#selenium.selenium.selenium.get_attribute

 


(re1ax) #3

 

+1 к вышенаписанному.

 
Андрей, в Питоне названия методов\функций обычно пишутся с маленькой буквой через андерскопы ( "_" ; например, посмотрите как у Вас написан метод find_element_by_xpath). И в какой IDE вы пишете скрипты ? Я использую PyCharm - автокомплит частенько помогает правильно написать название чего-либо, если ты подзабыл\неуверен.

(Mykhailo Poliarush) #4

да, если вы используете PyCharm или Eclipse, то там должен быть автокомплит.