【问题标题】:selenium not setting input field value硒未设置输入字段值
【发布时间】:2015-04-05 10:37:12
【问题描述】:

假设我们有这个网站https://www.coinichiwa.com/,它有一个BET AMOUNT 输入框。它的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

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

【问题讨论】:

    标签: python selenium selenium-webdriver automation


    【解决方案1】:

    你需要先clear()文字输入:

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

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

    browser.find_element_by_xpath("//input[contains(@id,'betFa')]").get_attribute('value')
    

    【讨论】:

    • 谢谢,它就像魅力一样,但还有一个问题......我如何获得&lt;div style="float:left;font-size:14px;width:120px;height:25px;border-color:#ACACAC;background-color:#EAEAEA;color:black"&gt;&lt;div style="margin:4px;" id="jukeamt"&gt;0.00100101&lt;/div&gt;&lt;/div&gt; jukeamt
      的内在价值?
    • @CracLock 好的,如果我正确理解了这个问题:driver.find_element_by_id('jukeamt').text.
    • 啊,这样不行。试过,但它返回空
    • @CracLock 好吧,这是一个单独的问题,绝对可以解决 - 如果您需要帮助,请考虑提出单独的问题,并在 cmets 中给我一个链接。感谢您的理解。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签