当我通过selenium发送键(其中包含“@”等特殊字符)时,我得到了以下错误:
无法从不可键入的键构造KeyEvent
但是,对于字母表字符,函数.send_keys()可以工作。我想将我的用户名发送到正方形登录页面,作为"foo@email.com“。我曾尝试使用Chrome、Safari、Firefox作为网络驱动程序,在所有情况下都会出现相同的错误。
可复制代码示例:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
url = "https://login.squarespace.com/"
driver.get(url)
email_but = driver.find_element_by_name("email")
email_but.send_keys('foo@email.com')我试图通过复制到剪贴板,然后粘贴到字段中来避免错误:
import xerox
username = "foo@email.com"
xerox.copy(username)
email_but = driver.find_element_by_name("email")
email_but.click()
email_but.send_keys(Keys.CONTROL, 'v')但同样的错误出现了。
我目前正在使用:
发布于 2022-02-14 22:18:01
这个错误信息..。
Cannot construct KeyEvent from non-typeable key...using ChromeDriver v98是以下回归的结果:
问题3999:执行sendKeys(Keys.chord())会导致使用Chrome / driver 98在输入文本中加上额外的符号字符
在试图解决非BMP问题时:
然而,CL一直是还原"WebDriver支持SendKeys中的非BMP字符“,但由于问题1295243: ChromeDriver sendKeys中的回归而被阻塞。
固定可用性
该修复程序经过验证,并将与v98.0.4758.99和ChromeDriver v99.0.4844.29.一起发布。
替代方案
作为替代,您还可以将谷歌铬 v98.0与ChromeDriver v97.0一起使用。
https://stackoverflow.com/questions/71112723
复制相似问题