Я хочу скопировать динамически сгенерированный контент из текстового поля с помощью селена - PullRequest
0 голосов
/ 27 мая 2020

http://eemaata.com/font2unicode/Encoder/unicode2font.php5 это веб-сайт, на котором мы можем преобразовать текст Unicode в версию Anu Script Manager (которая используется для печати). Итак, что я пытаюсь сделать, это 1. открыть веб-сайт 2. вставить текст из буфера обмена в текстовое поле Unicode (у меня будет текст Unicode, скопированный в буфер обмена перед запуском сценария селена) 3. щелкните Anu7 (раскрывающийся список), чтобы он преобразовал текст и отображается в текстовом поле 4. выберите весь текст в этом текстовом поле и скопируйте этот контент

все работает отлично, пока не сгенерирован текст anu7 .. но я не мог скопировать этот контент .. что я могу сделать чтобы поместить это содержимое в буфер обмена?

Я пытался получить posTextOut.text после создания текста, но не повезло, потому что сгенерированный текст не отображается в текстовом поле (я не знаю почему). Я попытался отправить ключи ctrl + a, ctrl + c, но они тоже не работают. любая помощь приветствуется .. спасибо

=========================

мой код выглядит так

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

driver_path = 'C:\chromedriver.exe'
driver = webdriver.Chrome(executable_path=driver_path)
driver.get('http://kolichala.com/font2unicode/Encoder/unicode2font.php')
driver.implicitly_wait(20)
driver.maximize_window()

# Variables
unicode_input = driver.find_element_by_id('posTextIn')
anu7_output = driver.find_element_by_id('posTextOut')
anu7_selector = driver.find_element_by_xpath('//*[@id="aaa2"]/option[3]')

# pasting unicode text
unicode_input.send_keys(Keys.CONTROL + 'v')
# selecting anu7 version
anu7_selector.click()
driver.implicitly_wait(5)
# trying to copy the content
anu7_output.send_keys(Keys.CONTROL + 'a')
anu7_output.send_keys(Keys.CONTROL + 'c')

1 Ответ

0 голосов
/ 27 мая 2020

вам нужно добавить некоторое время ожидания между отправкой ключей и нажатием кнопки преобразования, но тогда это должно сработать

unicode_input = bot.driver.find_element_by_id('posTextIn')
anu7_output = bot.driver.find_element_by_id('posTextOut')
anu7_selector = bot.driver.find_element_by_xpath('//*[@id="aaa2"]/option[3]')
unicode_input.send_keys('Hello')
time.sleep(0.5)
bot.driver.find_element_by_id("transform").click()
print('printing output')
value = anu7_output.get_attribute('value')
print(value)
...