-1

我正在自动化 python 中的 pressKeyButton()。因为以下是代码

from AppiumLibrary import AppiumLibrary

def PressKeyboardButton(self, buttonToPress):
    self._current_application().execute_script("var vKeyboard = target.frontMostApp().keyboard(); vKeyboard.buttons()['" + buttonToPress + "'].tap();");

执行后,我得到以下异常:

AttributeError: 'unicode' object has no attribute '_current_application'

任何人都可以建议我解决方案。

4

1 回答 1

0

PressKeyboardButton是一个接受名为 的参数的函数self,因为它会导致unicode对象出错,我假设您将 unicode 字符串作为参数传递给您的函数。String 显然没有_current_application定义任何属性。

可能是您正在尝试使用类并将函数误认为是类,请尝试以下几行 -

class KeyboardButton:

      def press(self, button):
          self._current_application().execute_script("var vKeyboard = target.frontMostApp().keyboard(); vKeyboard.buttons()['" + buttonToPress + "'].tap();");

      def _current_application(self):
          # add your code.

或者你可以只使用一个函数

from AppiumLibrary import AppiumLibrary

def PressKeyboardButton(self, buttonToPress):
    current_application().execute_script("var vKeyboard = target.frontMostApp().keyboard(); vKeyboard.buttons()['" + buttonToPress + "'].tap();")

def current_application():
    # your code.

这些方面的内容,因为尚不清楚您要完成什么。

于 2015-10-08T10:40:07.363 回答