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
Buy a Coffee