我已经为ClickLink,TypeInTextBox等构建了可重用的框架库,它位于不同的python模块中。在
当我直接在主类中使用这些方法时,比如ClickLink('CP_SignIn_Link')
,它工作得很好。在
但当我试图从excel中读取并使用如下所示的方法时,我得到了以下错误:
Keyword(wd_handle,Arguments)
print Keyword = ClickLink
print Arguments = 'CP_SignIn_Link'
Keyword(wd_handle,Arguments,Value)
TypeError: 'unicode' object is not callable
任何帮助都将不胜感激。在
我尝试过使用globals()关键字,但效果很好:)
其中User_Keyword变量将计算为与包中的方法名等效的字符串。在
示例:
def ExecuteKeyword(driver, User_keyword, Argument) # User_keyword = ClickLink , Argument = SignInLink function = globals()[User_Keyword] function(driver,Arguments) # Equivalent to ClickLink(driver,SingnInLink)
希望这对其他人有帮助:)我坚信你得到的“关键字”是一个字符串, 但你试着像函数一样调用它。 示例:
/home/test/kelvin/pythonall
0
但如果我们这样做:
这里的ClickLink是以字符串形式出现的
相关问题 更多 >
编程相关推荐