如何使用Python和Selenium从textarea标签中获取文本?



我试图提取文本的文本区域标签,不显示值/文本在它的html。我不能分享链接/数据,因为它是保密的,但我确信我找到了正确的文本区域。我提取文本的代码如下-

x = browser.find_element_by_class_name("ace_text-input").get_attribute('value')

当我尝试打印x变量时,我收到一个空行。我也试过使用。text,它给了我相同的结果。谢谢你的帮助!

你试过了吗

x = browser.find_element_by_class_name("ace_text-input").text

?
这在大多数情况下都有效。
或者

x = browser.find_element_by_class_name("ace_text-input").get_attribute("textContent"))

x = browser.find_element_by_class_name("ace_text-input").get_attribute("innerHTML"))

但是第一个在大多数情况下应该可以

可能是您的脚本需要显式等待:

wait = WebDriverWait(browser, 10)
print(wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "textarea.ace_text-input"))).text)
or 
print(wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "textarea.ace_text-input"))).get_attribute('innerHTML'))

进口:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

Update 1:

x = driver.find_element_by_class_name("ace_text-input")
y = driver.execute_script("return arguments[0].text;", x)
print(y)

最新更新