首页 > 解决方案 > python + selenium:ChromeDriver 仅支持 BMP 中的字符

问题描述

在以下情况下,我在一篇对我有用的帖子中找到了这个问题的答案:

<input class="some_class" value="test message">

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

message = ""
message_box = browser.find_element_by_xpath("xpath")
browser.execute_script(JS_ADD_TEXT_TO_INPUT, message_box, message)
message_box.send_keys(' ')
message_box.send_keys(Keys.ENTER)

但现在我遇到了不同的输入风格,上面的宏不再起作用。当消息框为空时,我可以看到第一条语句。当我开始在消息框中键入时,“br”将变为“span”

1) <span data-offset-key="some_key">
       <br data-text="true">
2) <span data-offset-key="some_key">
       <span data-text="true">test message</span>

message_box.send_keys('non-wide character message') 在应用于 时有效<span data-offset-key="some_key">,宏在应用于<span data-offset-key="some_key">和时均无效<span data-text="true">。有什么建议么 ?谢谢!

标签: pythonhtmlpython-3.xselenium-webdriver

解决方案


推荐阅读