如何写一个" @"与pyautogui

时间:2017-12-20 14:17:01

标签: python-3.x

所以基本上这是我的代码:

randnum = random.randint(1, 999999)
randomname = "justalollipop" + str(randnum)
randomemail = randomname + "@gmail.com"

之后我想用pyAutoGUI与pyautogui.typewrite(randomemail)

将其写入登录字段

现在的问题是,每当它尝试写这个时,它只是在没有@的情况下写入

编辑:我知道@是运营商。

编辑// 2: 所以我基本上研究了pyAutoGUI并发现代码必须是

pyautogui.typewrite(randomname)
pyautogui.keyDown('altright')
pyautogui.keyDown('q')
pyautogui.keyUp('altright')
pyautogui.keyUp('q')
pyautogui.typewrite("gmail.com")

而不仅仅是

pyautogui.typewrite(randomemail)

感谢您的回答

3 个答案:

答案 0 :(得分:0)

您没有发布所有正在发布的内容,只需将您的代码粘贴到终端即可

justalollipop916338@gmail.com

按返回(然后评估)将取消@,因为它应该。这就是我猜测你发生的事情,以及你在登录字段中看到的错误部分。您可能希望将所有内容都转换为字符串,例如:

pyautogui.typewrite('"'+randomemail+'"')

或在构建电子邮件时添加引号。这将导致一个有效的字符串,并且评估它将返回' @'同样。

答案 1 :(得分:0)

作为the documentation states

  

你只能用typewrite()按单字符键,所以你   例如,无法按Shift或F1键。

你为什么不试试:

pyautogui.typewrite(randomemail)
pyautogui.press('@')  
pyautogui.typewrite("gmail.com")

P.S。也许只是一个编码问题,并且可以传递@编码。但我真的不知道pyautogui的内在内部。

我曾经使用pywinauto,但它只支持Windows名称。

答案 2 :(得分:0)

经过多次尝试,我找到了最佳答案:

import pyautogui
import pyperclip

pyperclip.copy("@")
pyautogui.hotkey("ctrl", "v")