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

mo49yndu  于 2022-11-24  发布在  其他
关注(0)|答案(6)|浏览(199)

我正在尝试使用Selenium进行一些应用程序测试,我需要它在填写表单时插入一个变量,而不是硬编码字符串。IE:
这个工作name_element.send_keys("John Doe")
但这不是name_element.send_keys(username)
有没有人知道我怎么能做到这一点?相当大的Python noob,但使用谷歌广泛尝试并找到答案。

dtcbnfnu

dtcbnfnu1#

至少在一个例子中,我发现我不能将变量传递给send_keys,除非我首先传递一个常规的空字符串:

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

它还可以作为列表使用:
inputElement.send_keys("", my_text_variable)

dgsult0t

dgsult0t2#

试试这个

username = r'John Doe'

name_element.send_keys(username)

我能够通过字符串没有铸造它只是罚款在我的测试。

sxpgvts3

sxpgvts33#

我不明白...为什么不直接设置username=“John Doe”我不知道除此之外您还想做什么

username ="John Doe"

def some_function():
   name_element.send_keys(username)
6psbrbz9

6psbrbz94#

是否已确定变量是字符串?
格雷格的回答可以确保这一点。如果你不完全确定,你可以试试

name_element.send_keys(str(username))
btqmn9zl

btqmn9zl5#

我想username可能是你正在使用的python库中的一个变量。试着把它叫做其他的东西,比如Username1,看看它是否有效??

s2j5cfk0

s2j5cfk06#

我知道了!只要用途:

var1 = ''.join(otherVariable)
inputElement.send_keys(var1)

相关问题