我正在使用 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)
运行良好(但在我使用 Bootstrap 时不起作用)并且 field.clear()
一直运行,以及 field.click()
。
Selenium 版本:2.41.0 火狐版本:29.0
最佳答案
因为您使用的是 Firefox 29。请降级到 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
关于python - 如果输入类型 ="number",Selenium send_keys 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23412912/