Get Data from WebPage To Excel

Dears,

Please support on the below :

I wan tto create a workfllow to scrap data from WebPage, as follows:
1- I need to open Main page which has a list of clickable items
2- I need to find a machnism to click on each of them one by one
3- Each time I click on one it will open another page where I need to scrape data and save it to excel row ( the first item in that row contains the item name we click)
4- At the end I need to have data base saved in excel file

Thanks in advance

No offense, but I suggest you do the Uiath Academy trainings, which will cover pretty much all information you request.

1 Like

Hi,

  1. You can do this with the open browser activity.
  2. You can use dynamic selectors, you should look into that.
  3. With Data Scraping, you can scrape the data and print it to an excel file.
1 Like

@tolgademir Thanks for prompt feedback.

Update : When you open a web page you’ll get a list of words and when you click on one of them you will end up with a table, I need this table to be a row of data in excel.

Thanks in advance

@tolgademir Any suggestion regarding this? I have created a workfllow and im stck on opening webpage only and not possible to go to next steps. Thx

The relevant website does not open.

@tolgademir Did you try to allow this site from security pannel icon to the left to web page address ? Thx

URL: deleted as requested by OP

grafik

we can model it by configuring correlated data.

However, a custom extraction with the help of:

might be a better option, as we can model it within a dynamically approach

1 Like

Thanks @ppr are you able to access this site i mention above?

screenshot was done with table extraction feasability check against the above mentioned url

1 Like

@ppr How to use this Package : HtmlAgilityPack?
In case you have time can you make a samll workfllow or at least main steps to acheive this, it will be great :slight_smile:

Thanks in advance

I think you can do whatever you want by improving this flow. If you can manage to turn the selector into a dynamic selector, the whole problem will be solved.

Main.xaml (14.7 KB)

1 Like

Thanks @tolgademir , the file is taking too much time and cann’t be open event after a long time , what can be the reason? Probably need : project.json in same folder , no?
image

@tolgademir
I have deleted project.json file and start again, I got :slight_smile:

Here is the full Erro Message :

Open Document Error: UiPath.Studio.Contracts.RecoverableException
—> UiPath.Studio.Contracts.RecoverableException: The item ā€˜C:\Users\MyUser\Desktop\Main (1).xaml’ could not be opened: Document is invalid.
—> RemoteException wrapping System.IO.InvalidDataException: Document is invalid
at UiPath.Studio.Plugin.Workflow.WorkflowHandling.DesignerBuilder.InitRootActivity(WorkflowDesigner designer, String filename)
at UiPath.Studio.Plugin.Workflow.WorkflowHandling.DesignerBuilder.BuildInternal(DesignerEventsSubscriber eventsSubscriber, String workflowId, String fileName)
at UiPath.Studio.Plugin.Workflow.WorkflowHandling.DesignerBuilder.Build(DesignerEventsSubscriber eventsSubscriber, String workflowId, String fileName)
at UiPath.Studio.Plugin.Workflow.WorkflowHandling.DesignerWrapper.Load(String fileName)
at UiPath.Studio.Plugin.Workflow.Services.DesignerFileProjectEndpoint.<>c__DisplayClass7_0.<b__0>d.MoveNext()
— End of stack trace from previous location —
at UiPath.Studio.Plugin.Workflow.Services.DesignerFileProjectEndpoint.<>c__DisplayClass7_0.<b__0>d.MoveNext()
— End of stack trace from previous location —
at UiPath.Studio.Shared.MVVM.Services.DispatcherService.InvokeAsync(Func1 func) at UiPath.Studio.Plugin.Workflow.Services.DesignerFileProjectEndpoint.Load(String fileName) at UiPath.CoreIpc.Server.<>c__DisplayClass7_3.<<-ctor>g__InvokeMethod|6>d.MoveNext() --- End of stack trace from previous location --- at UiPath.CoreIpc.Server.<>c__DisplayClass7_1.<<-ctor>g__HandleRequest|3>d.MoveNext() --- End of stack trace from previous location --- at UiPath.CoreIpc.Server.<>c__DisplayClass7_2.<<-ctor>b__5>d.MoveNext() --- End of stack trace from previous location --- at UiPath.CoreIpc.Helpers.Timeout[TResult](TimeSpan timeout, List1 cancellationTokens, Func2 func, String message, Func2 exceptionHandler)
— End of inner exception stack trace —
at UiPath.Studio.Core.Services.PersistableServiceBase3.OnOpenAsyncInternal(String path, IFactory2 resolvedFactory, IOpenOptions options)
at UiPath.Studio.Core.Services.PersistableServiceBase3.OnOpenAsync(String path, IFactory2 resolvedFactory, IOpenOptions options)
at UiPath.Studio.Shell.Services.DocumentService.OnOpenAsync(String path, IFactory2 resolvedFactory, IOpenOptions options) at UiPath.Studio.Core.Services.PersistableServiceBase3.OpenAsync(OpenInformation openInfo)
at UiPath.Studio.Core.CommonServices.OpenCloseCommandsService.OpenDocumentAsync(OpenInformation openInfo)
— End of inner exception stack trace —
at UiPath.Studio.Core.CommonServices.OpenCloseCommandsService.OpenDocumentAsync(OpenInformation openInfo)
at UiPath.Studio.Core.CommonServices.OpenCloseCommandsService.OpenPath(String filePath)
at UiPath.Studio.Shell.Services.ProcessArgumentsService.ProcessWithCommandLine(String commandLineFileName)
at UiPath.Studio.Shell.ShellApplication.StudioShellApplication.<>c__DisplayClass24_0.<b__0>d.MoveNext()
— End of stack trace from previous location —
at System.Threading.Tasks.Task.<>c.b__128_0(Object state)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler), HResult -2146233088

You can download the relevant file as .zip, You can ignore the browser security notice.

https://rpahaber.com/uipath/BlankProcess.zip

1 Like

Thanks @tolgademir

Unfortunately still getting and error as follows :

ā€˜Failed to create a ā€˜Version’ from the text ā€˜V3’.’ Line number ā€˜165’ and line position ā€˜590’. Row: 165, Column: 590

What can be the reason ?

Details:
Error: System.Exception: Could not find the resource ā€œUiPath.Activities.System.Properties.UiPath.System.Activities.resourcesā€ among the resources ā€œUiPath.Activities.System.ViewModels.Resources.ActivitiesMetadata.jsonā€, ā€œUiPath.Activities.System.ViewModels.Resources.ActivitiesBindings.jsonā€, ā€œUiPath.Activities.System.ViewModels.Resources.Icons.add_data_column.svgā€, ā€œUiPath.Activities.System.ViewModels.Resources.Icons.add_data_row.svgā€, ā€œUiPath.Activities.System.ViewModels.Resources.Icons.add_log_fields.svgā€, ā€œUiPath.Activities.System.ViewModels.Resources.Icons.add_or_subtract_from_date.svgā€, ā€œUiPath.Activities.System.ViewModels.Resources.Icons.add_queue_item.svgā€, ā€œUiPath.Activities.System.ViewModels.Resources.Icons.add_transaction_item.svgā€, ā€œUiPath.Activities.System.ViewModels.Resources.Icons.append_item_to_collection.svgā€, ā€œUiPath.Activities.System.ViewModels.Resources.Icons.append_item_to_list.svgā€, … embedded in the assembly ā€œUiPath.System.Activities.ViewModelsā€, nor among the resources in any satellite assemblies for the specified culture. Perhaps the resources were embedded with an incorrect name.
at System.Resources.ManifestBasedResourceGroveler.HandleResourceStreamMissing(String fileName)
at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo culture, Dictionary2 localResourceSets, Boolean tryParents, Boolean createIfNotExists) at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents) at System.Resources.ResourceManager.GetString(String name, CultureInfo culture) at System.Resources.ResourceManager.GetString(String name) at UiPath.Studio.Plugin.Workflow.ResourceManagerWrapper.GetString(String name) at UiPath.Studio.Plugin.Workflow.Presentation.ActivityViewModelService.ProcessSynonymsForActivity(Assembly activityAssembly, ActivityInformation activity) at UiPath.Studio.Plugin.Workflow.Presentation.ActivityViewModelService.Initialize(ActivitiesContext context, Assembly activitiesAssembly, Assembly resourcesAssembly, ActivitiesAssemblyInformation activitiesAssemblyInformation) at UiPath.Studio.Plugin.Workflow.Project.Services.ActivitiesRegistrationService.ProcessActivities(IAssemblyInfo assemblyInfo, HashSet1 hiddenActivities, TargetFramework projectTargetFramework, CancellationToken token)
at UiPath.Studio.Plugin.Workflow.Project.Services.ActivitiesRegistrationService.ProcessActivities(TargetFramework projectTargetFramework, CancellationToken token)
at UiPath.Studio.Plugin.Workflow.Project.Services.ActivitiesRegistrationService.<>c__DisplayClass20_0.<b__0>d.MoveNext()
— End of stack trace from previous location —
at UiPath.Studio.Plugin.Workflow.Project.Services.ActivitiesRegistrationService.WaitRegistrationAsync()
at UiPath.Studio.Plugin.Workflow.Project.Services.ActivitiesRegistrationService.WaitRegistrationAsync()
at UiPath.Studio.Plugin.Workflow.Project.Services.ActivitiesRegistrationService.WaitRegistrationAsync()
at UiPath.Studio.Plugin.Workflow.Project.Services.ActivitiesRegistrationService.GetContextAsync()
at UiPath.Studio.Plugin.Workflow.Services.ActivityLoaderService.SetContextAsync()
at UiPath.Studio.Plugin.Workflow.Services.ActivityLoaderService.LoadActivitiesAsync()
at UiPath.Studio.Plugin.Workflow.Services.ProjectLoaderProjectEndpoint.b__10_0()
at UiPath.Studio.Plugin.Workflow.Services.ProjectLoaderProjectEndpoint.LoadFromContainerAsync()
at UiPath.CoreIpc.Server.<>c__DisplayClass7_3.<<-ctor>g__InvokeMethod|6>d.MoveNext()
— End of stack trace from previous location —
at UiPath.CoreIpc.Server.<>c__DisplayClass7_1.<<-ctor>g__HandleRequest|3>d.MoveNext()
— End of stack trace from previous location —
at UiPath.CoreIpc.Server.<>c__DisplayClass7_2.<<-ctor>b__5>d.MoveNext()
— End of stack trace from previous location —
at UiPath.CoreIpc.Helpers.Timeout[TResult](TimeSpan timeout, List1 cancellationTokens, Func2 func, String message, Func`2 exceptionHandler), HResult -2146233038

Hello @tolgademir again

If possible, please share with me the screenshots of workflow and defined parameters, since it’s working for you, I will create the same from my side;

Thanks ina dvance

Dears
Any update to fix this issue?
Thanks