【问题标题】:Selenium issue in using a function argument for send_keys value使用函数参数作为 send_keys 值的 Selenium 问题
【发布时间】:2016-02-24 21:53:10
【问题描述】:

我的问题涉及使用 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()

运行会报错:

文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/remote/webelement.py”,

第 326 行,在 send_keys 中 for i in range(len(val)):

TypeError: 'WebElement' 类型的对象没有 len()

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

【问题讨论】:

    标签: python-3.x selenium-webdriver selenium-chromedriver


    【解决方案1】:

    看起来arg_1arg_2WebElement 实例,您可能是想在send_keys() 中发送它们的文本

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

    【讨论】:

    • 这就是问题所在。考虑到函数的参数是列表中的字符串,这很奇怪。
    猜你喜欢
    • 1970-01-01
    • 2022-06-30
    • 2021-02-01
    • 2011-02-05
    • 2021-01-04
    • 2015-11-08
    • 1970-01-01
    • 2018-05-30
    • 1970-01-01
    相关资源
    最近更新 更多