7

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

这行得通 name_element.send_keys("John Doe")
,但这不行 name_element.send_keys(username)

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

4

5 回答 5

3

至少在一种情况下,我发现我无法将变量传递给 send_keys ,除非我首先传递一个常规的空字符串:

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

它也可以用作列表:

inputElement.send_keys("", my_text_variable)

于 2013-03-07T00:13:18.560 回答
1

尝试这个。

用户名 = r'John Doe'

name_element.send_keys(用户名)

在我的测试中,我能够在不强制转换的情况下通过字符串。

于 2017-12-05T20:25:48.663 回答
0

你确定你的变量是一个字符串吗?

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

name_element.send_keys(str(username))
于 2012-09-13T19:42:03.637 回答
0

我不明白...为什么不直接设置 username="John Doe" 我很难弄清楚你想要做什么

username ="John Doe"

def some_function():
   name_element.send_keys(username)
于 2012-09-05T22:18:05.400 回答
0

我认为用户名可能是您正在使用的 python 库中的一个变量。尝试将其称为 Username1 之类的其他名称,看看它是否有效?

于 2020-03-10T21:16:28.553 回答