【发布时间】:2022-02-15 06:18:01
【问题描述】:
当我通过 selenium 发送包含特殊字符(例如“@”)的密钥时,我收到了这个错误:
无法从不可键入的键构造 KeyEvent
但是,对于字母字符,函数.send_keys() 可以工作。我想将我的用户名作为“foo@email.com”发送到Squarespace login page。我曾尝试使用 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')
但出现同样的错误。
我目前正在使用:
- OSX v.12.0.1
- Chromedriver v.98.0.4758.80
- Chrome v.98.0.4758.80
- Safari v.15.1
【问题讨论】:
标签: python-3.x selenium google-chrome selenium-webdriver selenium-chromedriver