我有以下元素(文本区域)。此文本区域的值不会出现在html代码中。但是当加载页面时,它将显示在网页中。如何使用selenium和python获取值。
<textarea id="query" class="textarea" cols="37" rows="30"></textarea>
答案 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)