【发布时间】:2019-04-04 11:11:09
【问题描述】:
在 StackOverflow 中,已经有一个 similar post 关于这个话题。虽然帖子的 OP 回答说“这是 Windows 中的一个错误”并且“我没有找到解决方案,我只是删除了部分代码” .
我的情况略有不同。我无法删除部分代码,但我可以使用不同的网络浏览器。
我的情况:
我需要将特定文本写入文本框。不幸的是,我正在编写的文本中包含很少的 emojis 实例,因此 send_keys() 不是一个选项。相反,在 StackOverflow 的帮助下,我最终使用了 pyperclip.copy(text) 和 element.send_keys(Keys.CONTROL,'v'),它们运行良好(它成功复制了表情符号)。
但我还需要 ChromeDriver 为 --headless。一切都很好,除了复制粘贴部分。
我的问题
我的问题是:我应该如何解决这个问题?
- 必须隐藏 Web 浏览器(例如 ChromeDriver 中的
--headless) - 它可以将emojis写入文本元素
- 必须在 Windows 操作系统(Windows 7 - 10)上工作
【问题讨论】:
-
剪贴板是窗口管理器提供的服务/守护进程,不是 Chrome 的功能。因此,如果您正在无头运行,则可能没有可用的系统剪贴板。
-
@HåkenLid 嗯,您知道我的问题的任何替代解决方案吗? (将表情符号写入文本框元素,同时将网络浏览器“隐藏”)?
-
是否可以选择使用不同的浏览器驱动程序?我认为Firefox selenium 驱动程序应该支持
send_keys中BMP 以外的字符。 -
@HåkenLid 这是一个选项。那我试试看。
-
@HåkenLid 好的,经过进一步测试,我可以确认 firefox selenium 驱动程序确实支持 emoji send_keys。但是,我仍然无法确认它是否可以在无头模式下工作,主要是,我的代码遇到了多个问题(因为它是用
ChromeDriver编码的。所以我仍然愿意接受其他建议。
标签: python selenium clipboard emoji headless-browser