当我尝试用python和Selenium Chrome驱动发送一个表情符号时,出现了以下错误:
selenium.common.exceptions.WebDriverException: Message: unknown error: ChromeDriver only supports characters in the BMP
(Session info: chrome=86.0.4240.75)我已经研究了这个话题一段时间,并在@GalBracha的C# in another Question中找到了以下解决方法。
由于我根本不了解C#,也不太熟悉Selenium,所以我想问一下,是否有人知道Python语言中类似的解决方案。
谢谢
发布于 2020-10-20 02:19:47
我在这里以Google Images为例。您可以将emoji替换为所需的表情符号unicode。你可以找到代码here
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Chrome()
browser.get('https://images.google.com/')
search = browser.find_element_by_xpath('/html/body/div[2]/div[2]/div[2]/form/div[2]/div[1]/div[1]/div/div[2]/input')
JS_ADD_TEXT_TO_INPUT = """
var elm = arguments[0], txt = arguments[1];
elm.value += txt;
elm.dispatchEvent(new Event('change'));
"""
emoji = u'\U0001F600'
browser.execute_script(JS_ADD_TEXT_TO_INPUT, search, emoji)unicode看起来像lile U+1F603。你所需要做的就是把'+‘替换成'000’,再把'U‘替换成\U000F603
https://stackoverflow.com/questions/64432687
复制相似问题