web-dev-qa-db-ja.com

セレンは入力フィールド値を設定していません

このウェブサイトがあるとしましょう https://www.coinichiwa.com/ これにはベット額の入力ボックスがあります。それはhtmlです:

<input autocomplete="off" id="betFa" name="a" maxlength="20" value="0.00000000" class="betinput" style="">

それに値を追加する必要があります。これが私のコードです:

browser = webdriver.Firefox()
browser.get('https://www.coinichiwa.com')

browser.find_element_by_id("betFa").send_keys("0.00000005")
print browser.find_element_by_xpath("//input[contains(@id,'betFa')]").text

ただし、値を「0.00000005」に設定することも、入力のvalueを出力することもありません。

何が悪いのかわかりません。提案できますか?なぜ機能しないのですか?

14
CracLock

clear() 最初にテキスト入力する必要があります:

_bet_fa = browser.find_element_by_id("betFa")
bet_fa.clear()
bet_fa.send_keys("0.00000005")
_

2番目の問題については、これはinputであり、入力した値はテキストではなくvalue属性内に保持されます。 get_attribute() メソッドを使用:

_browser.find_element_by_xpath("//input[contains(@id,'betFa')]").get_attribute('value')
_
20
alecxe