设定:
我遇到一些使用ractive的输入字段的问题。该值未设置。我能够看到值已经发送到Firefox中的输入字段,但是当点击“保存”按钮时没有设置任何值。
我试过这个:
driver.execute_script("document.querySelector('#at-OrganizationUnitEditTextInputName_Name').focus()")
driver.execute_script("return document.activeElement") # This returns the the correct element
然后
element.clear()
time.sleep(0.2)
element.send_keys(keys)
升级到Selenium 3.0.1和geckodriver后出现此问题。使用旧的Firefox驱动程序时没有问题。我在旧驱动程序中使用它来在发送密钥之前设置焦点:
element.send_keys(Keys.NULL) # Set focus
time.sleep(0.2)
element.clear()
time.sleep(0.2)
element.send_keys(keys)
无法在javascript中触发'focusin'或'blur'事件。这似乎是设置值时使用的模糊事件?
我也尝试过ActionChains和move_to_element,但由于异常而无法实现:
selenium.common.exceptions.WebDriverException:消息:POST / session / 325f067c-755d-4401-9c42-4219def280eb / moveto与已知命令不匹配
更新: 我使用Chrome驱动程序进行了测试,并能够将密钥发送到输入字段。所以我猜这是geckodriver的一个问题