title: Python Robot Framework Pass arguments to a function
body: <p>I try to use this method </p>
  
  <pre><code>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)
  </code></pre>
  
  <p>inside robot framework file</p>
  
  <pre><code>Register Proper Data
      [Setup]    Open Browser ${web-page}    browser=${browser}
      my click  (By.PARTIAL_LINK_TEXT, "register")
  </code></pre>
  
  <p>but the program returns: </p>
  
  <blockquote>
    <p>TypeError: find_element() takes at most 3 arguments (35 given) - which
    is the number of letters in the argument</p>
  </blockquote>
  
  <p>Why is it happening? How to pass arguments to a keyword?</p>