小编Mar*_*mon的帖子

Python selenium send_keys表情符号支持

我正在尝试使用selenium的send_keys将表情符号字符发送到带有以下python代码的文本框中.

browser = webdriver.Chrome(chrome_options=options)
browser.get("https://www.google.co.in")
time.sleep(5)
working = browser.find_element_by_id('lst-ib')
text = u'Python is '
working.send_keys(text)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误.

Traceback (most recent call last):
  File "smiley.py", line 30, in <module>
    working.send_keys(text)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py", line 347, in send_keys
    self._execute(Command.SEND_KEYS_TO_ELEMENT, {'value': keys_to_typing(value)})
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py", line 491, in _execute
    return self._parent.execute(command, params)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 238, in execute
    self.error_handler.check_response(response)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 164, in check_response
    raise exception_class(value)
selenium.common.exceptions.WebDriverException: Message: missing command parameters
Run Code Online (Sandbox Code Playgroud)

在搜索时我发现selenium send_keys仅支持单字节字符.但我想知道,如果有任何其他方式我可以做到这一点.

我尝试过使用CTRl + C和CTRL + V组合,它正在运行.但有时剪贴板内容在粘贴之前会被更改(复制和粘贴几乎立即发生).

我无法使用execute_script设置字段的值,因为它不是输入元素而是跨度.我可以在我的用例中设置inner_text但无用.

更新: 我已经使用一些解决方法来解决剪贴板覆盖问题.工作代码如下.

schedule = urllib2.urlopen(request,context=ctx)
text …
Run Code Online (Sandbox Code Playgroud)

python selenium

8
推荐指数
1
解决办法
1677
查看次数

标签 统计

python ×1

selenium ×1