【问题标题】:Selenium Chrome Driver(Python): Send emojisSelenium Chrome 驱动程序(Python):发送表情符号
【发布时间】:2020-10-19 17:49:20
【问题描述】:

当出现以下错误时,我正尝试使用 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 中的类似解决方案。

谢谢

【问题讨论】:

    标签: python selenium google-chrome selenium-chromedriver


    【解决方案1】:

    我在这里使用 Google 图片作为示例。您可以将 emoji 替换为所需的 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 看起来很简单U+1F603。您需要做的就是在“U”看起来像\U000F603之前用\替换“+”和“000”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-21
      • 1970-01-01
      • 1970-01-01
      • 2017-03-10
      • 1970-01-01
      • 2022-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多