如何使用selenium web驱动程序获取文本区域内容

时间:2014-04-11 06:28:53

标签: python html python-2.7 selenium-webdriver

我有以下元素(文本区域)。此文本区域的值不会出现在html代码中。但是当加载页面时,它将显示在网页中。如何使用selenium和python获取值。

<textarea id="query" class="textarea" cols="37" rows="30"></textarea>

2 个答案:

答案 0 :(得分:4)

textarea的内容将显示在value属性中,就像input元素一样。所以像(伪Python)

 contents = driver.find_element_by_id('query').get_attribute('value')

答案 1 :(得分:1)

您可以做的一件事是使用 tesseract 捕获该区域的屏幕截图,并稍后使用 tesseract 提取文本。遇到与输入的文本未存储在值属性中相同的问题 EG:

截屏

featureElement = browser.find_element_by_xpath("//textarea//..")
featureElement.screenshot('foo.png')

#从图片中读取

images = cv2.imread('image_path')

转换为灰度图像

gray = cv2.cvtColor(images, cv2.COLOR_BGR2GRAY)

cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)[1]

图像的内存使用,即将图像添加到内存

filename = "{}.jpg".format(os.getpid())
cv2.imwrite(filename, gray)
text = pytesseract.image_to_string(Image.open(filename))
print(text)