【问题标题】:Send text to clipboard in selenium在 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 设置文本? - 使用剪贴板可能会使您的解决方案过于复杂。

标签: python-3.x selenium clipboard accent-sensitive


【解决方案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。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多