在 StackOverflow 中,已经有一个类似的帖子 https://stackoverflow.com/questions/50751960/selenium-python-headless-chrome-not-copying-to-clipboard关于这个话题。尽管帖子的OP回答说“这是 Windows 中的一个错误“ 然后 ”我没有找到解决方案,我只是删除了部分代码".
我的情况略有不同。我无法删除部分代码,但我可以使用不同的网络浏览器。
我的情况:
我需要将特定文本写入文本框中。不幸的是,我正在写的文字包含很少的实例emojis, thus send_keys()
不是一个选择。相反,在 StackOverflow 的帮助下,我最终使用pyperclip.copy(text)
and element.send_keys(Keys.CONTROL,'v')
效果很好(它成功复制了表情符号)。
但我还需要 ChromeDriver--headless
。除了复制粘贴部分之外,一切都运行良好。
我的问题
我的问题是:我应该如何解决这个问题?
- Web 浏览器必须隐藏(例如
--headless
在ChromeDriver)
- 它可以写emojis到文本元素中
- 必须在 Windows 操作系统 (Windows 7 - 10) 上运行
我遇到了同样的问题,所以我使用 klembord 而不是 pyperclip。
https://pypi.org/project/klembord/ https://pypi.org/project/klembord/
# pip install webdriver-manager
# pip install klembord
# pip install selenium
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from webdriver_manager.firefox import GeckoDriverManager
import klembord
klembord.init()
options = Options()
options.headless = True
driver = webdriver.Firefox(options=options,executable_path=GeckoDriverManager().install())
print("Headless Firefox Initialized. Wait for output")
driver.get("https://www.lipsum.com")
l = driver.find_element_by_xpath("/html/body/div/div[2]/div[2]/div[3]/div[1]/p")
klembord.set_text(l.text) # setting text to clipboard
print("Check clipboard by pressing WIN + V or CTRL +V")
driver.quit()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)