Cannot Screen Scrape Windows DataGrid - Only the First Column is Showed

scraping
studio

#1

Hello, I posted a similar question before,


but found no answer till now and I happen to face some similar behaviors lately, so decided to ask for advice once more.

Scenario:
Open eventvwr.msc from Windows Run, and scrape all the logs listed in WIndows Log > System.
When I scrape using Native, it will only scrape visible parts of the screen, so I went with Full Method.

Expected Behavior:
The Screen Scraping will scrape all data on the Windows Log.

The Current Behavior:
The Screen Scraping only scrape the first column.

I found this behavior about 2-3 times in different applications, is there something I doing wrong, or is there any workaround to this? Any advice will be appreciated.


#2

hi @whyyouandi

Regarding this

Steps:
1.Build Data table activity create column names
2.Use the selector for Element exists
3.Use click activity
4.Use while condition and call Element Exists Boolean Variable
5.Inside the while loop use Get Attribute activity and give property as title or aaname
6.Add data row activity
Check this
Thanks
Ashwin S


#3

Hi @AshwinS2, thank you for your response.
I don’t think I’m following you.
Do you suggest not using Scraping and instead using Get Attribute to read the values?

I don’t think I can do it in my case since I need to loop for each of the log later, so I prefer it in datatable format. And in the case of eventvwr.msc, I tried using attribute and you cannot select individual cell, but when you select the row, the text and name only contains the first column too.

And, I really curious why it is not working (since I bumped into this 2-3times).


#4

hi @whyyouandi

Can you show the selector ?

Thanks
Ashwin S


#5

Hi @AshwinS2, this is the selector for the DataGrid:

<wnd cls='MMCChildFrm' title='イベント ビューアー (ローカル)\Windows ログ\システム' />
<wnd ctrlname='MMCEventsResultView' />
<wnd ctrlname='eventDetailControl1' />
<wnd ctrlname='previewPaneSplitter' />
<wnd ctrlname='panelMainListViewHolder' />
<wnd ctrlname='mainListView' />

(You can ignore the title, it is the title of the Event Viewer in Japanese, I don’t think it is the problem).


#6

Added information:
The same selector resulted in all columns of the logs when scraped using Native Method.
So, only when scraped using FullText Method do this behavior happened.


#7

HI @whyyouandi
Have you check this selector in UiExplorer

Thanks
Ashwin S


#8

Hi @AshwinS2 Yes, I did. It said the selector is valid.
And it threw me no error, it got me the result, but only the first column :frowning:


#9

Hi @whyyouandi

I tried to use [Screen Scraping ] to scrape the datatable from the system event log windows.
It seems only [native] method can catch data into datatable.
And when I use [full text] method to do the same thing ,it encounters a system error from my desktop system.

Noted that , the system event log has head and details .
May be the best way to get system event log is :

  1. set a filter to select what event you want
  2. automation this : download event log to xml file
  3. then you can pick what you want from xml file

Should mentions : max download numbers of event log is 256 .


#10

Hello @lainh,

thank you for your time to see the actual condition and the details of the workaround.

I was a bit curious since like this case, I failed to screen scrape data grids with FullText Method on several desktop applications before, which made me think there was something wrong with how I scraped. But from your reply, seems like some applications just can’t be scraped using FullText Method, and I need to look for the workaround.

And thank you for the detailed export ways, will try it later but for not I think it answers my question on why the FullText Method failed.

Regards.


#11

Hi @whyyouandi

I’m also quite confused by why [full text ] can not get datatable from this application.
Maybe just for this application dose not support data extraction .
If you can keep on looking for the answer ,while resolved ,let me know.

Regards.


#12

Hi @lainh, I happened to work on 2-3 other applications (same: Desktop Apps, Data Grid), and no it didn’t work and I had to go with workaround each time, so I just concluded that it just doesn’t work for several apps. Will update if it’s proved otherwise later :slight_smile:


#13

Hi @whyyouandi , I am also facing the similar issue when i try to scrap grid data in a Desktop application. It would be a great help if you can suggest what alternative approach you use to do this.

Mine is simple VB desktop application and data is in gridview with resizable columns with a vertical scrollbar.

Thank you in advance.


#14

Hello @Rahul_G, does it change nothing if you try to change the Scraping Methods?
Sorry currently I have no device to try, but if that failed too, does Find Children will get the values with yours?


#15

@whyyouandi When i tried Data scraping method it didn’t returned any value. Then i tried Screen scraping method but only the selected screen data is coming in output. We have vertical scroll bar in grid view so we want to scrap complete data not just selected data. Could you please elaborate about Find children?

Thanks you for help.


#16

Hello @Rahul_G, in the end I didn’t solve it (and since it was just for training I skipped it), and though I am not sure Find Children will solve it, it doesn’t hurt to try:

What value to be passed in Filter input of Find Children keyword


#17

Thanks @whyyouandi, I will give a try and see. I am also in contact with Uipath customer support and hope they will provide some solution. I checked it out on forum and Web and it seems like this is general problem and many users are facing the same. Uipath should do some enhancement and provide activity to handle grid view table because it very common in desktop applications.

Thanks again Mate.
Rahul


#18

Thank you @Rahul_G, good luck!