Selenium 仪器无法间歇性执行发送_键。应该如何处理?

Selenium 仪器无法间歇性执行发送_键。应该如何处理?,selenium,instruments,appium,Selenium,Instruments,Appium,问题:我正在使用Appium的python客户端向WebElement发送密钥 仪器决定有时候不应该点击某些键。 这是一个痛苦,当我试图做的事情,如登录我需要能够在输入字段上可靠地键入或以编程方式设置值 这(或多或少)就是我在做的事: 都很标准。而且它通常是有效的 但通常情况下并不是这样。我需要一些坚实的东西 可能的解决方案? 我想如果我得到一个webdrivexception返回,我可以尝试/重试send\u keys工作 但真正酷的是,如果我可以通过JavaScriptexecute\u脚

问题:我正在使用Appium的python客户端
WebElement
发送密钥

仪器决定有时候不应该点击某些键。 这是一个痛苦,当我试图做的事情,如登录我需要能够在输入字段上可靠地键入或以编程方式设置值

这(或多或少)就是我在做的事:

都很标准。而且它通常是有效的

但通常情况下并不是这样。我需要一些坚实的东西


可能的解决方案?

我想如果我得到一个
webdrivexception
返回,我可以尝试/重试
send\u keys
工作

但真正酷的是,如果我可以通过JavaScript
execute\u脚本设置元素的值,或者更好的是通过selenium python绑定

我不懂JavaScript,我已经尝试过搜索如何在不执行
sendKeys
的情况下设置对象的值,但结果是一片空白

任何想法都会非常有用。谢谢

解决方案如下:

# Get the element

el = driver.find_element_by_class_name('UIATextField')
driver.execute_script("au.getElement('%s').setValue('%s')" % (el.id, 'ABCDEF'))

# At this point, the keyboard is opened and the text is instantly entered.

那看起来很恶心!你能优化它吗?页面代码是什么?是的,同意。我完全可以优化它,有关于xpath使用/性能的最佳实践文档吗?
# Get the element

el = driver.find_element_by_class_name('UIATextField')
driver.execute_script("au.getElement('%s').setValue('%s')" % (el.id, 'ABCDEF'))

# At this point, the keyboard is opened and the text is instantly entered.