所以基本上这是我的代码:
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)
感谢您的回答
答案 0 :(得分:0)
您没有发布所有正在发布的内容,只需将您的代码粘贴到终端即可
justalollipop916338@gmail.com
按返回(然后评估)将取消@
,因为它应该。这就是我猜测你发生的事情,以及你在登录字段中看到的错误部分。您可能希望将所有内容都转换为字符串,例如:
pyautogui.typewrite('"'+randomemail+'"')
或在构建电子邮件时添加引号。这将导致一个有效的字符串,并且评估它将返回' @'同样。
答案 1 :(得分:0)
你只能用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")