selenium没有设置输入字段值

Cra*_*ock 13 python selenium automation selenium-webdriver

假设我们有这个网站https://www.coinichiwa.com/,它有一个BET AMOUNT输入框.它的HTML是:

<input autocomplete="off" id="betFa" name="a" maxlength="20" value="0.00000000" class="betinput" style="">
Run Code Online (Sandbox Code Playgroud)

我需要在其中添加一些价值.这是我的代码:

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
Run Code Online (Sandbox Code Playgroud)

但它既没有将它的值设置为"0.00000005",也没有打印value输入.

我不确定出了什么问题.你能建议吗?为什么它不起作用?

ale*_*cxe 19

您需要先clear()输入文本:

bet_fa = browser.find_element_by_id("betFa")
bet_fa.clear()
bet_fa.send_keys("0.00000005")
Run Code Online (Sandbox Code Playgroud)

至于你的第二个问题 - 这是一个input,你输入的值保存在value属性中,而不是文本中.使用get_attribute()方法:

browser.find_element_by_xpath("//input[contains(@id,'betFa')]").get_attribute('value')
Run Code Online (Sandbox Code Playgroud)