2012-01-10 12 views
6

でsend_keys()を使用して3つのキーを送信するには、デフォルト値0.00のテキストボックスに浮動小数点数を入力しようとしています。上書きするのではなく、追加しようとしています。 send_keys( '123.00')でもそれはまだ追加されます。 それから、私はsend_keys(Keys.CONTROL + 'a'、 '123.00')を試しました。それは0.00だけを更新します。セレンpython webdriver

本当にありがとうございます。

詳細情報については

.. URL:http://new.ossmoketest.appspot.com ユーザーID:[email protected] - 今必要とされない パスワードmycompanyname = orangescape(スパムメールを避けるために申し訳ありません)。 クリック発注...フォームの新製品と新価格...自動化のためのサンプルアプリケーションを喜ば..おかげ

+0

あなたの質問 –

+1

atlastに実際のコードの多くを追加します。私はありがとう@Miebster答え... send_keys(Keys.CONTROL + '' + Keys.NULL、STR(newprice)) – senthil3569

答えて

4

私は良い結果を持っていた:それがうまくいかない場合は

from selenium.webdriver.common.keys import Keys 

element.send_keys(Keys.CONTROL, 'a') 
element.send_keys('123.00') 

それはウェブページのコードと関係があります。

+0

を見つけました! – Smur

3

私はちょうどクリア()コマンド見つかった - hereを参照してください。

この要素がテキスト入力要素である場合、これは値がクリアされますが。他の要素には影響しません。テキスト入力要素は、INPUT要素とTEXTAREA要素です。

EDIT: だからあなたのアプローチは、次のようになります。

element.clear(); 
    element.sendKeys('123.00'); 
+0

send_keys(Keys.CONTROL + 'a' + Keys.NULL、str(newprice))が機能する – senthil3569

5

カスタムエディットボックスを持っている場合を除き、click()はあなたのために働く必要があります。

from selenium.webdriver import Firefox 

b = Firefox() 
b.get('http://google.com') 
e = b.find_element_by_id('lst-ib') 

e.click() # is optional, but makes sure the focus is on editbox. 
e.send_keys('12.34') 
e.get_attribute('value') 
# outputs: u'12.34' 

e.click() 
e.clear() 
e.get_attribute('value') 
# outputs: u'' 

e.send_keys('56.78') 
e.get_attribute('value') 
# outputs: u'56.78' 
1

私はすべての例の問題を経験しました他の答えで与えられる。

el.send_keys(Keys.CONTROL + 'a' + Keys.NULL, 'your string') 

はそんなに私は、より堅牢な操作でwebdriverをクラスの私の独自の実装にそれを包みましたが、私が働いてきたすべてのプロジェクトに取り組んできました。

関連する問題