如何使用变量执行用户定义的python方法,从excelsh读取

2024-04-26 17:50:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经为ClickLinkTypeInTextBox等构建了可重用的框架库,它位于不同的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

^{pr2}$

任何帮助都将不胜感激。在


Tags: 模块方法框架错误linkexcelargumentscp
2条回答

我尝试过使用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) 希望这对其他人有帮助:)

我坚信你得到的“关键字”是一个字符串, 但你试着像函数一样调用它。 示例:

k =os.system
k('pwd')

/home/test/kelvin/pythonall
0

但如果我们这样做:

k ='os.system'
k('pwd')
Traceback (most recent call last):
File "", line 1, in
TypeError: 'str' object is not callable

这里的ClickLink是以字符串形式出现的

相关问题 更多 >