我正在尝试使用 Selenium 进行一些应用程序测试,并且我需要它在填写表单而不是硬编码字符串时插入一个变量。IE:
这行得通
name_element.send_keys("John Doe")
,但这不行
name_element.send_keys(username)
有谁知道我怎么能做到这一点?相当大的 Python 菜鸟,但广泛使用 Google 来尝试找出答案。
至少在一种情况下,我发现我无法将变量传递给 send_keys ,除非我首先传递一个常规的空字符串:
inputElement.send_keys("")
inputElement.send_keys(my_text_variable)
它也可以用作列表:
inputElement.send_keys("", my_text_variable)
尝试这个。
用户名 = r'John Doe' name_element.send_keys(用户名)
在我的测试中,我能够在不强制转换的情况下通过字符串。
你确定你的变量是一个字符串吗?
格雷格的回答将确保这一点。如果你不完全确定,你可以试试
name_element.send_keys(str(username))
我不明白...为什么不直接设置 username="John Doe" 我很难弄清楚你想要做什么
username ="John Doe"
def some_function():
name_element.send_keys(username)
我认为用户名可能是您正在使用的 python 库中的一个变量。尝试将其称为 Username1 之类的其他名称,看看它是否有效?