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

查看:33
本文介绍了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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆