如何将插入符(^)传递给selenium网络驱动程序的send_keys()方法

2024-04-23 20:04:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python和selenimweb驱动程序进行自动测试,需要使用复杂的密码登录到网站。你知道吗

我需要传递任何特殊字符,包括插入符号(^)到send\u keys方法,但它不起作用。你知道吗

例如,我尝试向方法提供以下密码:45pEq8wfIj^K

send\u keys方法将发送以下内容:45pEq8wfIjK(插入符号是ommited)

我曾尝试将插入符号放入大括号中,并将其提供给{^}之类的方法,但结果是空的大括号{}。还尝试了转义符号和原始字符串=不是解决方案。你知道吗

我已经尝试了欧瑞柏提供的解决方案,这似乎是工作,但我仍然遇到以下问题:

我编写了以下代码:

if "^" in password:
    splitString = re.split(r"^", password)
    user_field.send_keys(splitString[0])
    user_field.send_keys(Keys.SHIFT + '6')
    user_field.send_keys(splitString[1])

这很好(显然只有一个插入符号),因为我现在正确地将插入符号传递给send\u keys方法。你知道吗

但是由于某些原因,在字符串的第一部分之前有一个附加的插入符号^?!知道为什么会这样吗?你知道吗

例如,对于以下密码45pEq8wfIj\^K

我得到^45pEq8wfIj\^K


Tags: 方法字符串send密码field驱动程序符号password