To exemplify how to use the several screen scraping methods and the practical differences between them, let’s first scrape a Notepad window with some text and see what results we have. The following screenshot is what we used.
As you can see, no formatting is retained, but if you hide the Notepad window while scraping, the text is still retrieved. This is the fastest method.
As you can see in the first screenshot, you can extract the text with its position on the screen, as well as retrieve the exact position of each word (second screenshot).
As you can see, the accuracy of this output method is not 100%, but it still manages to keep the position of the text. Getting the exact on-screen position, in pixels, is also available yet as you can see, it is not the fastest of the output methods.
As with Microsoft’s Modi, the Tesseract OCR method is not 100% accurate and takes longer when compared with the others. However, it retrieves the position within the window of the text.
Now, add some white text over a black page in Paint, for example, and try to scrape it.
As you can see, only the OCR methods work in this scenario.
Now let’s try scraping an application and see the results. We use a dummy expense app, which you can download here.
If we scrape this entire window, we receive the following results:
- FullText with hidden text works really well, being able to read even the minimize and restore buttons.
- Native does not work on this UI as it does not make use of the graphical device interface to render text. For more information on GDI, please see the official Microsoft documentation.
- Microsoft OCR works pretty well, although accuracy is still not 100%.
- Tesseract OCR does not handle this UI very well, as the scraped area is quite large.
|About UI Elements|
|Output or Screen Scraping Methods|
|Installing OCR Languages|