一尘不染

如果输入类型=“数字”,则seleniumsend_keys不起作用

selenium

我正在使用selenium编写测试。在那些测试中,我需要在表格的字段中输入数字。

这是html:

<!DOCTYPE html>
<html>
<head>
</head>
<body>

<form>
    <input type="number" id="field_id">
</form>


</body>
</html>

和代码:

browser = webdriver.Firefox()
browser.get('file:///home/my_username/test.html')
field = browser.find_element_by_id('field_id')
field.send_keys('12')  # NOTHING HAPPEN!

顺便说一句,例如,如果我将字段的类型更改为“文本”,则完全没有问题。此外,还field.send_keys(Keys.UP)可以很好地工作(但在使用引导程序时却无法正常工作),并且field.clear()一直都在工作field.click()

selenium版本:2.41.0 Firefox版本:29.0


阅读 839

收藏
2020-06-26

共1个答案

一尘不染

因为您使用的是Firefox29。请降级到Firefox 28,这是Selenium
2.41.0支持的功能,请参阅CHANGES文件。否则,您需要等待新的Selenium更新。

这是我在Firefox 28上测试过的内容:

from selenium import webdriver

DEMO_PAGE = '''
    data:text/html,
    <form><input type="number" id="field_id"></form>
'''

browser = webdriver.Firefox()
browser.get(DEMO_PAGE)

input_number = browser.find_element_by_id('field_id')
input_number.send_keys('12')

input_number_value = input_number.get_attribute('value')
print "input_number_value = " + input_number_value
2020-06-26