无法通过 Appium sendKeys() 命令将文本传递到 HTML5 对话框

Unable to pass text to an HTML5 dialog box via Appium sendKeys() command

我将 Python 与 Appium 结合使用,以在 Android 移动设备上进行自动化测试。我正在使用 Appium/Selenium 网络驱动程序并在设备上启动 Chrome。有一个对话框,我的目标是用户名字段,我可以通过 XPath 找到用户名文本框,甚至可以单击它开始输入。但是,当我使用 sendKeys() 命令将文本输入到其中时,它什么也不做。任何帮助将不胜感激。

代码(Python):

    try:
        self.prac_btn = self.get_ele('xpath', '//*[@id="dialogMessage"]/fieldset/input[1]')
        print "Found username"
    except:
        print "Cannot find username"

    try:
        time.sleep(5)
        self.click_ele(self.prac_btn)
    except:
        print "Cannot click on username"

    try:
        time.sleep(5)
        self.prac_btn.send_keys(self, "Username")
    except:
        print "Cannot type text"

错误是由于将两个参数传递给 send_keys(),它只接受一个参数。 self 不需要作为参数,因为 send_keys() 是一个 class 实例函数。 self 隐式传递。

这也是为什么裸体 except 很危险的一个很好的例子。如果您捕获了异常并将其打印出来,您会看到类似这样的内容:

TypeError: send_keys() takes exactly 1 argument (2 given)

这将是关于问题所在的有力线索。