Hi, I am facing a issue. I have different company titles and when click that title i have an information table. I want to do table extraction for each title but some companies have an empty table and I want to write it the excel as how it is (empty), but when it comes to empty table, it just gives error and stop. i dont know how to set variable empty. can you help me?
Hi @Mkary
- Extract table data from company titles
- If extractedDataTable.Rows.Count = 0 Then
→ The table is empty or missing
→ Handle this case (e.g., write “empty” to Excel)
Else
→ The table is not empty
→ Continue processing and write the table to Excel - Continue processing other company titles
If the extraction itself is failing then use a try catch around it…or first use a check app state and decide if a table has data or not and proceed accordingly
Cheers
Hi @Mkary
Use the check app state activity after searching for the company indicate the headers of the Table.
→ In the element appear block insert the Extract Datatable activity to extract the table.
→ In element not appear block, give log message activity to print there is no table for this company.
→ Use the navigate browser activity to navigate the browser to go to back page.
If the table not appear the page went back and type the next company name.
Hope it helps!!
Hi @Mkary
To handle cases where you have different company titles, and some of them may have empty tables, you can use error handling techniques to gracefully handle the situation and continue processing. Here’s a general approach using UiPath:
- Identify the Empty Table Condition: You need to determine a reliable way to check if a table is empty. This could be based on the presence of specific elements within the table or by checking for some text that indicates an empty table. You can use the “Element Exists” activity or other methods to check for this condition.
- Use Try-Catch: Wrap the part of your workflow that extracts data from the table inside a Try-Catch activity. Here’s how you can structure it:
- In the “Try” block, put your code to extract data from the table.
- In the “Catch” block, catch the exception that occurs when you encounter an empty table. For example, you can catch the “ElementNotFoundException” or any other relevant exception that is raised when an empty table is encountered.
- Inside the “Catch” block, you can use a message box or log a message to indicate that the table is empty for the current company title.
- Continue Processing: After handling the exception in the “Catch” block, you can add logic to continue processing the next company title. This can be done by using a loop (e.g., a For Each loop) that iterates through your list of company titles.
Here’s a simplified example of what the workflow might look like:
For Each companyTitle in companyTitles
Try
// Code to click on the company title and extract table data
// If an empty table is encountered, an exception will be thrown
Catch ElementNotFoundException
// Handle the case of an empty table
Log Message: "Table is empty for " + companyTitle
End Try
// Continue processing the next company title
End For Each
This approach allows you to handle both scenarios where there is data in the table and where the table is empty. You capture the exception when an empty table is encountered, log a message, and then proceed with the next company title.
Make sure to adjust the exception type and error handling based on the specific conditions and exceptions that occur in your workflow.
Thanks!!