Selenium Chrome驱动程序(Python):发送表情符号

2024-04-19 08:04:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图发送一个带有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中的类似解决方案

谢谢


Tags: inmessageonlyselenium错误驱动程序errorcommon
1条回答
网友
1楼 · 发布于 2024-04-19 08:04:23

这里我以谷歌图片为例。您可以用所需的表情符号unicode替换emoji。您可以找到代码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将看起来像lileU+1F603。您所需要做的就是将“+”替换为“000”,在“U”之前加上一个\,看起来也像\U000F603

相关问题 更多 >