OpenQA.Selenium.WebDriverException:';未知错误:ChromeDriver在通过C#Selify发送表情符号时仅支持BMP中的字符 [英] OpenQA.Selenium.WebDriverException: 'unknown error: ChromeDriver only supports characters in the BMP while sending an emoji through C# Selenium
本文介绍了OpenQA.Selenium.WebDriverException:';未知错误:ChromeDriver在通过C#Selify发送表情符号时仅支持BMP中的字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试向按键发送表情符号。我已尝试通过复制信号👍来发送它,但引发了此异常。
OpenQA.Selenium.WebDriverException: 'unknown error: ChromeDriver only supports characters in the BMP
然后我试着把它作为Unicode发送,但没有成功。这不是什么好兆头。
input.SendKeys("/u1F44D")
发送表情符号的正确方式是什么?
推荐答案
解决方案
async sendKeysWithEmojis(element, text) {
const script = `var elm = arguments[0],
txt = arguments[1];elm.value += txt;
elm.dispatchEvent(new Event('keydown', {bubbles: true}));
elm.dispatchEvent(new Event('keypress', {bubbles: true}));
elm.dispatchEvent(new Event('input', {bubbles: true}));
elm.dispatchEvent(new Event('keyup', {bubbles: true}));`;
await this.driver.executeScript(script, element, text);
}
这样称呼
const element = await this.driver.findElement(selector);
await sendKeysWithEmojis(element, '🚀😀 This one shall pass 🚀😀');
这里发生了什么? 我们正在使用事件模拟本机按键
请注意,{bubbles: true}
是可选的(在我的例子中,由于复杂的包装输入而需要)
这篇关于OpenQA.Selenium.WebDriverException:';未知错误:ChromeDriver在通过C#Selify发送表情符号时仅支持BMP中的字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文