首页 > 解决方案 > 我想用 selenium 从 textarea 复制动态生成的内容

问题描述

http://eemaata.com/font2unicode/Encoder/unicode2font.php5 这是一个我们可以将 unicode 文本转换为 Anu Script Manager 版本(用于打印目的)的网站。所以我要做的是 1. 打开网站 2. 将剪贴板文本粘贴到 unicode 文本字段中(在运行 selenium 脚本之前,我会将 Unicode 文本复制到剪贴板) 3. 单击 Anu7(下拉菜单),这样它将转换文本并显示在文本区域 4. 选择该文本区域中的所有文本并复制该内容

在生成 anu7 文本之前,一切都正常工作..但我无法复制该内容..我该怎么做才能将该内容放入我的剪贴板?

我在生成文本后尝试获取 posTextOut.text 但没有运气,因为生成的文本没有显示在 textarea 中(我不知道为什么)。我尝试发送键 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')

标签: pythonseleniumwebautomationchrome-web-driver

解决方案


您需要在发送密钥和单击转换按钮之间添加一些等待,但它应该可以工作

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)

推荐阅读