使用webdriver填写使用list / dict中的值创建表单

时间:2016-04-10 10:55:41

标签: python selenium qa

我已在我的应用程序中找到创建表单上的所有输入:

_data = ['selenium', 'selenium test', 'John Dow']

我得到了我需要输入的值列表:

for x in range(len(self._data)):
    try:
        _inputs[x].send_keys(self._data[x])
    except Exception:
        continue
    finally:
        _all_inputs[0].send_keys(Keys.RETURN)

我想要做的是使用循环向列表中的每个元素发送密钥,我写的是

selenium.common.exceptions.ElementNotVisibleException: Message: Element is not currently visible and so may not be interacted with

发送RETURN会触发提交表单

但我得到了{{1}}

当我单独发送密钥时,这不是问题,但这不是我想在这里做的事情。谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用expected_conditions中的visibility_of来确保元素可见

wait = WebDriverWait(driver, 10)

for x in range(len(self._data)):
    try:
        wait.until(expected_conditions.visibility_of(_inputs[x]))
        _inputs[x].send_keys(self._data[x])
    except Exception:
        continue
    finally:
        _all_inputs[0].send_keys(Keys.RETURN)