一尘不染

ChromeDriver仅在BMP错误中支持字符,同时使用Selenium Python将带有ChromeDriver Chrome的Emoji发送给Tkinter的label()文本框

selenium

我正在自动化whatsapp消息,并希望通过
tkinter窗口发送出去。在此tkinter窗口中,我
借助.label()创建了一个消息框,并能够通过硒连接到whatsapp网站。

目前,我已经可以发送消息了,但是没有表情符号。当我
包含表情符号时,出现此错误“ Chromedriver仅支持
BMP中的字符”。如何包含表情符号?


阅读 1191

收藏
2020-06-26

共1个答案

一尘不染

这个错误讯息…

selenium.common.exceptions.WebDriverException: Message: unknown error: ChromeDriver only supports characters in the BMP

…暗示ChromeDriver无法 通过方法发送表情符号信号。
send_keys()

ChromeDriver仅支持BMP中的字符,这是Chromium团队的一个已知问题,因为ChromeDriver仍不支持 Unicode字符。因此,它是无法发送任何字符以外通过ChromeDriver。结果,任何发送SMP字符(例如CJK,Emojis,Symbols等)的尝试都会引发错误。


Alternative

一个潜在的替代方法是使用_GeckoDriver_ / Firefox.

  • Code Block:

    from selenium import webdriver
    

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC

    driver = webdriver.Firefox(executable_path=r’C:\Utility\BrowserDrivers\geckodriver.exe’)
    driver.get('https://www.google.com/’)

    Chineese Character

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.NAME, “q”))).send_keys(“𠀀”)

    Emoji Character

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.NAME, “q”))).send_keys(“💩”)

  • Browser Snapshot:

Emoji

You can find a relevant discussion in OpenQA.Selenium.WebDriverException:
‘unknown error: ChromeDriver only supports characters in the BMP while sending
an emoji through C#
Selenium


Reference

Issue 2269: Impossible to add special characters with a unicode after
FFFF


2020-06-26