我正试图用Selenium填充一个表单,所有输入都已填充,但有一个被忽略。这是我试图填写的输入:
<input type="text" name="MAIN_DRIVER_DATE_OF_BIRTH" value="12/15/1990" class="form-control form-control-danger col-md-6" maxlength="10" placeholder="JJ/MM/AAAA" label="">
我试过使用这个代码:
date_input = self.driver.find_element_by_name("MAIN_DRIVER_DATE_OF_BIRTH")
date_input.send_keys("19/12/1990")
但没有奏效。
它确实适用于SeleniumIDE Chrome扩展,但当我导出相同的代码并尝试它时,它就不起作用了。
硒版本:3.141.0铬版本:80.0.3987.122
我也遇到了类似的问题。它是通过在执行send_keys((操作之前对date_input执行click((操作来解决的。
在您的情况下,这也可能是因为date_input字段需要以"mm/dd/yyyy"格式输入,而您正在以"dd/mm/yyyy"格式发送它。
请改用date_input.send_keys("12/19/1990")
。
您是否只复制从chrome中的Selenium IDE导出的测试用例中的特定行?如果是,IDE可能正在记录行之前的附加操作:
date_input = self.driver.find_element_by_name("MAIN_DRIVER_DATE_OF_BIRTH")
date_input.send_keys("19/12/1990")
请检查并复制该操作。
或
尝试使用
driver.click()
之前
date_input.send_keys("1990年12月19日"(
tel = driver.find_element_by_id("tel-input")
for i in range(1,10):
tel.send_keys(Keys.BACKSPACE)
tel.send_keys(444444444)
输入要输入数据的输入id,而不是";tel输入";
向上退格到输入的起点。
在我的示例中,这相当于9次
和完成!
在我看来,这种方法不是很好,但我们需要使用它