2017-07-24 68 views
0

我嘗試使用此方法Python的機器人框架參數傳遞給函數

def my_click(self, locator, info="click on button error", timeout=5): 
    element = self.wait_for_visibility(locator, info, timeout) 
    element.click() 

def wait_for_visibility(self, locator, info="no error", timeout=10): 
    return WebDriverWait(self.get_driver(), timeout).until(
     expected_conditions.visibility_of_element_located(locator), info) 

內機器人的框架文件

Register Proper Data 
    [Setup] Open Browser ${web-page} browser=${browser} 
    my click (By.PARTIAL_LINK_TEXT, "register") 

但程序返回:爲什麼

TypeError: find_element() takes at most 3 arguments (35 given) - which is the number of letters in the argument

發生了什麼?如何將參數傳遞給關鍵字?

回答

2

爲什麼我的點擊參數是在括號內?它應該沒有括號和逗號。例如:

my click By.PARTIAL_LINK_TEXT register 

請確保函數和變量以及每個變量之間有3-4個空格。

+0

仍然是同樣的錯誤,我用python + selenium使用這個函數,它是這樣工作的,也許應該添加其他東西來使它識別整個參數? –

+0

Jędrek,請檢查由A.Kootstra更新的答案。也嘗試從RIDE中調用您的關鍵字。它將消除錯誤的空間/標籤數量。 –