如何截取网页元素并比较其文本内容?

问题描述 投票:0回答:1

我想使用 Selenium WebDriver 捕获特定 Web 元素的屏幕截图,并将其文本内容与现有文本数据进行比较。那么,截屏后如何访问屏幕截图的文本内容?而且,我想使用 XPath 或任何其他选择器方法,因为该元素没有 ID。谢谢。

java selenium-webdriver screenshot capture takesscreenshot
1个回答
0
投票

我们可以截取 WebElement(给定示例中的 img 标签)的屏幕截图,它是一个验证码,要阅读截取的屏幕截图上的文本,我们可以使用库 ddddocr.

这里是解决方案,

from selenium import webdriver
from selenium.webdriver.common.by import By

import ddddocr

driver = webdriver.Chrome()

driver.get('https://ma.mohw.gov.tw/masearch/')

captcha = driver.find_element(By.ID, "ctl00_ContentPlaceHolder1_ImageCheck")
captcha.screenshot(f'captcha.png')

ocr = ddddocr.DdddOcr()
# open and read the image
with open(f'captcha.png', 'rb') as f:
    img_bytes = f.read()

res = ocr.classification(img_bytes)
print(res.upper())
>> PUT7
© www.soinside.com 2019 - 2024. All rights reserved.