使用函数参数作为 send_keys 值的 Selenium 问题

Selenium issue in using a function argument for send_keys value

我的问题涉及使用 Selenium 获取列表的值并将它们传递给具有 send_keys 的 WebElement。

假设 list_item_1list_item_2 是通过电子表格导入的,arg_1arg_2 是每个列表的特定项目:

def run(arg_1, arg_2):
  driver.get(URL_TO_SITE)
  form_element_1 = driver.find_element_by_id('ELEMENT_ID')
  form_element_2 = driver.find_element_by_id('ELEMENT_ID')

  form_element_1.send_keys(arg_1)
  form_element_2.send_keys(arg_2)
  ...
  action.perform()

运行 这给出了错误:

File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/remote/webelement.py",

line 326, in send_keys for i in range(len(val)):

TypeError: object of type 'WebElement' has no len()

这似乎是一个独立于使用函数参数作为 send_keys 参数的问题。这里有解决方法吗?

看起来 arg_1arg_2WebElement 个实例,您可能想在 send_keys() 中发送他们的 text :

form_element_1.send_keys(arg_1.text)
form_element_2.send_keys(arg_2.text)