我不明白下面代码中我可能出错的地方。它一直在说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)
答案 0 :(得分:4)
activateFieldsSubMenus(2, name)
name
是一个字符串而不是整数,因为您的列表只包含字符串。
在您的activateFieldsSubMenus
例程name
中,现在称为tries
,然后传递到range(tries)
。
你可能打算写
activateFieldsSubMenus(name, 2)
答案 1 :(得分:2)
你打电话给activateFieldsSubMenus
并混淆了2个参数我相信,试试:
activateFieldsSubMenus(name, tries=2)