通过Selenium send.keys而不是字符串传递变量

时间:2012-09-05 21:00:23

标签: python selenium

我正在尝试使用Selenium进行一些应用程序测试,我需要它在填充表单而不是硬编码字符串时插入变量。 IE:

这是有效的 name_element.send_keys("John Doe")
但这没有 name_element.send_keys(username)

有谁知道我怎么能做到这一点?相当大的Python菜鸟,但广泛使用谷歌尝试找出。

5 个答案:

答案 0 :(得分:2)

至少在一个案例中,我发现除非我第一次传递一个常规的空字符串,否则我无法将变量传递给send_keys:

inputElement.send_keys("")
inputElement.send_keys(my_text_variable)

它也可以作为列表:

inputElement.send_keys("", my_text_variable)

答案 1 :(得分:0)

我不明白......为什么不设置username =“John Doe”我无法弄清楚你想要做什么除此之外

username ="John Doe"

def some_function():
   name_element.send_keys(username)

答案 2 :(得分:0)

您是否确定您的变量是字符串?

格雷格的答案将确保这一点。如果您不完全确定,可以尝试

name_element.send_keys(str(username))

答案 3 :(得分:0)

试试这个。

username = r'John Doe'

name_element.send_keys(username)

我能够在测试中传递字符串而不会将其完全抛出。

答案 4 :(得分:0)

我认为用户名可能是您正在使用的python库中的变量。尝试将其命名为Username1之类的东西,看看是否可行?