如何使用变量执行用户定义的python方法,从Excel工作表读取

如何使用变量执行用户定义的python方法,从Excel工作表读取,python,selenium,python-2.7,selenium-webdriver,xlrd,Python,Selenium,Python 2.7,Selenium Webdriver,Xlrd,我已经为ClickLink、TypeInTextBox等构建了可重用的框架库,它位于不同的python模块中 当我在主类中直接使用方法时,比如ClickLink('CP\u SignIn\u Link')效果很好 但当我试图从excel中读取它并使用与下面相同的方法时,我得到了以下错误: Keyword(wd_handle,Arguments) print Keyword = ClickLink print Arguments = 'CP_SignIn_Link' Keyword(wd_ha

我已经为ClickLinkTypeInTextBox等构建了可重用的框架库,它位于不同的python模块中

当我在主类中直接使用方法时,比如
ClickLink('CP\u SignIn\u Link')
效果很好

但当我试图从excel中读取它并使用与下面相同的方法时,我得到了以下错误:

Keyword(wd_handle,Arguments)

print Keyword = ClickLink
print Arguments = 'CP_SignIn_Link'

Keyword(wd_handle,Arguments,Value)
TypeError:“unicode”对象不可调用

Sample TC Excel Document:
======================

User_Keyword    | Keyword_Arguments         | Value
----------------------------------------------------------------------------------
ClickLink       | 'CP_SignIn_Link'          |
TypeInTextBox   |'CP_EmailAddress_TextBox'  |'ABC@D.COM'    
TypeInTextBox   |'CP_Password_TextBox'      |'test'

任何帮助都将不胜感激

我坚信“关键字”是一个字符串, 但是你试着把它当作函数来调用。 例如:

k=操作系统
k(‘pwd’)

/家庭/测试/开尔文/蟒蛇王
0

但如果我们这样做: k='os.system'
k(“pwd”)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:“str”对象不可调用

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

我尝试使用globals()关键字,结果成功了:)

其中User_关键字变量将计算为与包中的方法名称等效的字符串

例如:

def ExecuteKeyword(驱动程序、用户\关键字、参数)\用户\关键字=点击链接,参数=签名链接
function=globals()[用户\关键字]
函数(驱动程序、参数)#相当于ClickLink(驱动程序、SinginLink)

希望这对其他人有所帮助:)

这会起作用,因为函数在此处有地址,但请尝试使用函数='globals()[User\u Keyword]'这不会起作用。请检查工作案例和非工作案例中关键字的类型。我相信,在不工作的情况下,它将是字符串类型。