Search on blog:

Selenium: Wysłanie zawartości schowka do pola w przeglądarce

Gdy znajdziesz pole tekstowe na stronie wtedy możesz wysłać Ctrl+V aby wstawić tekst ze schowka do tego pola.

import selenium.webdriver
from selenium.webdriver.common.keys import Keys 

driver = selenium.webdriver.Firefox()
driver.get('https://google.com')

item = driver.find_element_by_name('q')
item.send_keys(Keys.CONTROL + "v")
#item.send_keys(Keys.CONTROL, "v")

Możesz też próbować zaznaczyć tekst i skopiować go do schowka ale to może działać tylko z widocznym tekstem. Może też zadziałać z <body> (aby skopiować cały widoczny tekst) ale może mieć problem z innymi elementami (aby skopiować tylko część tekstu)

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://quotes.toscrape.com")

element = driver.find_element_by_tag_name("body")

# it gets only visible text.
# it works with <body> but not have to with other tags.
element.send_keys(Keys.CONTROL, "a")
element.send_keys(Keys.CONTROL, "c")

Możesz też spróbować użyć pyperclip do pobrania teksty ze schowka i wysłania go do textarea jako normalnego tekstu.

import pyperclip

#pyperclip.copy('The text to be copied to the clipboard.')

text = pyperclip.paste()
#print(text)

import selenium.webdriver
from selenium.webdriver.common.keys import Keys 

driver = selenium.webdriver.Firefox()
driver.get('https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_textarea')

frame = driver.find_element_by_id('iframeResult')
driver.switch_to.frame(frame)

item = driver.find_element_by_id('w3mission')
item.clear()
item.send_keys(text)
If you like it
Buy a Coffee