TypeError:range()整数结束参数expect,得到str

时间:2016-06-14 15:40:16

标签: python typeerror

我不明白下面代码中我可能出错的地方。它一直在说range()期望整数结束参数,得到str。

def test():

    nameList = ["Default", "Customize..."]
    for name in nameList:
             activateFieldsSubMenus(2, name)


def activateFieldsSubMenus(subMenusName,tries=1):

              for i in range(tries):
                 try:
                     mouseClick(waitForObject(":NYSE Connect_DetailedQuoteFieldsPanel"), 42, 13, 4, Button.Button3)
                     menuItem = waitForObjectItem(":NYSE Connect_DetailedQuoteFieldsPanel", "Fields")
                     activateItem(menuItem)
                     subs = object.children(menuItem)
                     for item in subs:
                         if subMenusName in item.text:
                             activateItem(item)

                             break
                         snooze(1)

2 个答案:

答案 0 :(得分:4)

activateFieldsSubMenus(2, name)

name是一个字符串而不是整数,因为您的列表只包含字符串。

在您的activateFieldsSubMenus例程name中,现在称为tries,然后传递到range(tries)

你可能打算写

activateFieldsSubMenus(name, 2)

答案 1 :(得分:2)

你打电话给activateFieldsSubMenus并混淆了2个参数我相信,试试:

activateFieldsSubMenus(name, tries=2)