我正在使用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()。
field.send_keys(Keys.UP)
field.clear()
field.click()
selenium版本:2.41.0 Firefox版本:29.0
因为您使用的是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