使用 Selenium 发送表情符号 Python

Sending emojis with Selenium Python

我知道已经有人问过这样的问题,但我还没有找到真正有效的明确答案。

我想在社交媒体上自动发送私信,但我想在其中添加表情符号。问题是我不明白人们是如何发送它的,因为它是 Chromedriver 不允许的(据说只支持 BMP)。

确实,我找到了在输入中添加文本的解决方案,如下所示:

JS_ADD_TEXT_TO_INPUT = """
var elm = arguments[0], txt = arguments[1];
elm.value += txt;
elm.dispatchEvent(new Event('change'));
"""

在我的例子中,我想要添加表情符号的地方并不总是一个输入(它可以是一个跨度或一个 div)。有人知道什么代码可以帮助我做到这一点吗?提前致谢!

如果您尝试将表情符号添加到非输入字段,您可以直接设置 textContent

script = """document.querySelector('%s').textContent='%s';""" % (
        css_selector,
        value,
    )
driver.execute_script(script)

在输入选择器之前,请务必转义任何引号和特殊字符。例如。 import re; re.escape(css_selector)

这将使您可以将网页元素上的任何文本设置为任何内容,如果您没有在输入字段中键入内容,则包括表情符号。