'Performer' yearly report cycle fails after first save

Guys, I ran across a very weird issue while trying to solve the Performer assignment.
Initially I wrote the robot for Firefox, but that one would fail randomly as it was impossible to select the html error popups of ACME, and it was especially hard to get the OCR text after the upload.

So, I re-wrote the whole Performer for Internet Explorer, and there the selectors for the popup worked without much effort in plain (non-image recog) mode. I wrote the main loop of getting the monthly reports: year gets selected fine, month gets selected fine, popup detected fine and dismissed, then next month updated fine…
All works neatly until I successfully save the first file ( it gets saved, no exceptions). Irrespective if I dismiss or not the small download bar at the bottom, the next month does not get selected anymore, nor does it throw an exception. It simply hangs as if suddenly it would not find the month drop-down anymore.

I cannot imagine what can happen to the selector that changes after the first successful save.
I’ve spent days on this now, and tried tens of ways of formulating the selector, including dropping the idea of using a global Browser pointer that I pass on to every module whenever I attach a browser, and tried an absolute selector instead in the System1_CreateYearlyReport.xaml. It did not make a difference. Re-created the whole file from scratch, did not use copy paste, that also made no difference. I’m clueless…

This is my selector (works fine until first successful file save. “item” is my iterator for the months):
"<html title='ACME System 1 - Reports - Download Monthly Report' /><webctrl aaname='"+item.ToString+"' parentid='searchForm' tag='A' />"

Tried also:
"<html title='ACME*' /><webctrl aaname='"+item.ToString+"' parentid='searchForm' tag='A' />"

Tried also to use anchors where the anchor would be the Month: object on page.
"<webctrl aaname='Month:' tag='LABEL' /><nav up='1' /><webctrl aaname='"+item.ToString+"' parentid='searchForm' tag='A' />"
Nothing works!

Seen in the guidance that when dismissing the bottom IE bar after a save I am suppose to remove the variable part of the selector, but I cannot find any variable part:



Thanks upfront for any guidance!

Hi @zbalint, are you using ‘On element appear’ and then saving the file?
If so, i guess it is happening because the property of on element appear is not set properly , try below :slight_smile:
“On Element Appear” >> “RepeatForEver” == False && “WaitVisible” == True
Click Activity change the property Wait for ready to none

Hello Sheshrocks, I’m not using “On Element Appear” anymore as that was one of the first ones I eliminated (found in Forum pages). Instead I am using “Element Exists” against the small cross in the corner op the download bar, and clicking it after 3 seconds. Wait for Ready is set to NONE. It is dismissed reliably.

I can see in my logs that the FOR-cycle of downloading the monthly reports does start again with the new month, and the automation stops before setting the new month. And that only happens after the first save. If the particular work item did not have the first four months, then it will happily increment the month until May, save the report for May, then print to logs that current month is June, but then June does not get selected anymore in the Month selector.

Something must change when I performed a ‘Save’ operation, just cannot see what.

Paste your workflow, let’s see whats going wrong in it!

System1_CreateYearlyReport2.xaml (38.8 KB)
Thanks, please see the CreateYearlyReport module attached.
It takes an existing browser instance as input, plus all the variables as indicated in the guidance.
Meanwhile I also tried a desperate attempt to move the typing of that TAX ID inside the for-loop before setting the Month, to force the robot to click something else in the window. That did not work either: typing into the TaxID field did not happen after the first save.

The robot stops once it has written to logs the first log entry in the for loop:
“Current Month: February”

  • in case January had a file.

Thanks again!

Hi,

Can you check the WaitForReady property is set to “None” in click activity to select month?

Thanks!

Yes, thanks for the suggestion, I tried that in all sorts of combinations, plus also the bottom bar dismissal with forced delays and various options.
As said in my initial post, when there is no report, the months increment nicely. It is after the first save that the for-cyle blocks, and it blocks at the beginning after printing the first log entry. It also blocks if I try to re-type the TaxID first in the for loop for each month.

I will try a complete re-install. My logs also don’t show anymore in the orchestrator. Tried a few tricks with that too but that’s a different topic.

What is your next activity after save? I think it sits there.

I did some changes, see if it works now
System1_CreateYearlyReport2.xaml (39.1 KB)

Working for me flawlessly.

Thanks mate, added the new workflow, set the save path back to my environment directory tree, and tried it. Interesting selector, I wonder how you got it.
Same fate though. After the first save, the next month is not selected anymore.

Meanwhile I also unistalled Ui, rebotted my PC and reinstalled everything. No change.
My next attempt will be to write the module in a separate app, and test it for one particular TaxID.

I suspect something is fishy with my environment (logs don’t show in orchestrator even after the re-install, although that’s probably unrelated).

I suspected that too, so tried various things, such as dropping the save, or not ingesting the CSV, but those made no difference.
Therefore, I added a log entry at the beginning of the FOR each Month cycle, and I do get the log entry when the workflow stops:
{“message”:“Current Month: February”,“level”:“Information”,…
I attached the Studio Log for today; maybe that says something to the experts around here:2019-02-02_Studio.log.rename.vb (33.5 KB)

I’m getting the same exact problem… Some more observations on this issue:

  • when invoking this workflow from the test sequence, it works great;
  • when invoking from the main process, same issue as described here;

I’ve been trying a lot of the same things (don’t close the download confirmation, etc), and so far no luck either.

I also tried setting “Wait for Ready” to NONE (when setting the month, and when clicking “Download”). It did allow the workflow to progress a bit further, but still could not move on to the next Vendor.

What did end up working is refreshing the browser after file downloads (this means setting the year and TaxID for every month).

Ok, so after 3 days of ‘crossing the chasm’, setting up env on my son’s PC, concluding that it does not work either (stalls in the beginning of the for each cycle after first save), I ended up Sunday afternoon with a very crude workaround.
When I was toying on the son’s PC, I noticed that I can’t get UiPath write a single line into IE unless UI has launched that browser instance. When editing the selector it always highlights the correct item, but then when I run it, it can’t action it.

So, went back to my PC, and ‘broke up’ my single ‘Attach Browser’ instance in 3 parts:

  • attach browser with existing browser instance as input, and set the tax ID, and year
  • for each Month cycle, where for each month attach browser of same instance, and
  • strictly outside the attach browser instance the activities relating to CSV and XLS.

Probably none of these are necessary, but in the end this did the job.
Many thanks to everyone trying to help me out here; really appreciated!

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.