在 selenium 中将文本发送到剪贴板

Posted

技术标签:

【中文标题】在 selenium 中将文本发送到剪贴板【英文标题】:Send text to clipboard in selenium 【发布时间】:2021-01-19 05:34:18 【问题描述】:

我正在使用一个不允许输入重音符号的表单,但它允许粘贴带有重音符号的文本。

如何将文本发送到剪贴板,然后将包含重音的文本粘贴到表单中?

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver
options = Options()
options.headless = True
driver = webdriver.Chrome('chromedriver.exe',options=options)

driver.get('https://www.website.com')
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, openform))).click()

send accent text to clipboard


driver.find_element(By.XPATH, formfield).send_keys(Keys.CONTROL, 'v')

【问题讨论】:

所以你要send_keys,高亮ctrl a,复制ctrl c然后粘贴ctrl v? 我想将要使用 selenium 直接粘贴的文本插入剪贴板 你为什么不把你想输入的文字通过send_keys发送到文本框? 因为文本框不允许重音符号,但粘贴时允许重音文本 您在下面得到了答案 - 但您是否尝试过通过 javascript 设置文本? - 使用剪贴板可能会使您的解决方案过于复杂。 【参考方案1】:

您可以尝试在 python 中将所需的文本复制到剪贴板,然后粘贴。它正在使用 python 3.8。你也可以试试。如果您遇到任何问题,请告诉我。

import pyperclip
pyperclip.copy('Text to be copied to the clipboard.')
clipboard_text= pyperclip.paste()
print(clipboard_text)

【讨论】:

它不适用于 selenium 无头,它仅适用于带有 GUI 的 selenium。

以上是关于在 selenium 中将文本发送到剪贴板的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中将文本复制到剪贴板[重复]

Selenium selenium.common.exceptions.NoSuchElementException 错误将文本发送到 iframe 中的元素

如何让应用程序复制文本并自动发送到我的联网数据库?

如何在 C# 中将 HTML 设置为剪贴板?

在锁定的 Windows 10 机器上的后台进程中将文本放入剪贴板

python给qq好友发送消息