2016-11-10 42 views
0

send_keysを使用してフィールドを埋めると同時に、この値を変数に格納しようとしています。このコードを実行すると、変数のテキストは表示されません。Selenium + Python:テキストを変数に格納して印刷する

locators.py

from selenium.webdriver.common.by import By 

class CreateNewContractor(object): 

    FIRST_NAME = (By.ID, "id_0-first_name") 

pages.py

from locators import * 

class CreateNewContractor1(Page): 


    def fill_contractor(self): 

     email = self.find_element(*CreateNewContractor.FIRST_NAME).send_keys("Hello") 
     email.text 
     print email 

私はどのように保存し、メール変数で満たされたテキストを印刷することができますか?

+0

'電子メールを。 get_attribute( 'value') ' – Andersson

+0

@Andersson上記のオプションを試しましたが、テストに合格し、テキスト値を出力しません。 – RFtests

答えて

2

変数emailの値はNoneになります。これはsend_keys()メソッドが返す値です。

代わりに、あなたは、単に変数にテキストを保つことができます。

text = "hello" 
self.find_element(*CreateNewContractor.FIRST_NAME).send_keys(text) 
print(text) 

それとも、あなたが実際にinputの値を取得したい場合は、get_attribute()メソッドを使用します。

elm = self.find_element(*CreateNewContractor.FIRST_NAME) 
elm.send_keys("hello") 
print(elm.get_attribute("value")) 
+0

上記のすべてのオプションを試しましたが、テストに合格し、テキスト値を出力しません。 – RFtests

+0

@Rafaelは実際にテスト中にメソッドを呼びますか? – alecxe

+0

はい、どうぞご覧ください:http://take.ms/vu6NG – RFtests

関連する問題