Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LLM on TagUI RPA and Python rpa package - see responses from Claude LLM #1388

Closed
kensoh opened this issue Aug 27, 2024 · 0 comments
Closed
Labels

Comments

@kensoh
Copy link
Member

kensoh commented Aug 27, 2024

AI and machine learning (in particular LLM - large language models) could be useful to help generate scripts for RPA.

See the following questions that I asked Anthropic's Claude 3.5 Sonnet and its responses. I think it could be useful for some users to generate the template code, and make modifications accordingly. Or convert TagUI scripts to Python.

Question 1

write a Python rpa package script to do google search for rpa and capture screenshot of the search results

Response 1

Here's a Python script that uses the RPA (Robotic Process Automation) package to perform a Google search for "rpa" and capture a screenshot of the search results:

import rpa as r
import time

# Initialize the RPA
r.init()

try:
    # Open Google in the default browser
    r.url('https://www.google.com/')
    
    # Wait for the page to load
    time.sleep(2)
    
    # Enter the search term and submit
    r.type('//*[@name="q"]', 'rpa[enter]')
    
    # Wait for the search results to load
    time.sleep(3)
    
    # Capture a screenshot of the search results
    r.snap('page', 'rpa_search_results.png')
    
    print("Screenshot captured successfully.")

except Exception as e:
    print(f"An error occurred: {str(e)}")

finally:
    # Close the browser and end the RPA session
    r.close()

Question 2

write a TagUI RPA script to do google search for rpa and capture screenshot of the search results

Response 2

Here's a TagUI RPA script that performs a Google search for "rpa" and captures a screenshot of the search results:

// Navigate to Google
https://www.google.com/

// Wait for the page to load
wait 3

// Type "rpa" into the search box and press Enter
type q as rpa
enter

// Wait for search results to load
wait 3

// Capture a screenshot of the search results
snap page to rpa_search_results.png

// Print a message to confirm the screenshot was taken
echo Screenshot captured successfully.

Question 3

convert attached TagUI RPA script to Python rpa package script

https://www.google.com
type q as rpa[enter]
click Search

for item 1 to 50
    show (XPath)[`item`]

for (i = 0; i < 50; i++) {
    echo `i`
}

Response 3

I'll convert the provided TagUI RPA script to a Python script using the RPA package. Here's the converted script:

import rpa as r
import time

# Initialize the RPA
r.init()

try:
    # Navigate to Google
    r.url('https://www.google.com/')
    
    # Wait for the page to load
    time.sleep(2)
    
    # Type "rpa" into the search box and press Enter
    r.type('//*[@name="q"]', 'rpa[enter]')
    
    # Wait for search results to load
    time.sleep(2)
    
    # Click the Search button (if needed)
    r.click('Search')
    
    # Loop through items 1 to 50 and show XPath
    for item in range(1, 51):
        xpath = f'(//*)[{item}]'
        element_text = r.read(xpath)
        print(f"Item {item} XPath: {xpath}")
        print(f"Element text: {element_text}")
    
    # Loop from 0 to 49 and echo the number
    for i in range(50):
        print(i)

except Exception as e:
    print(f"An error occurred: {str(e)}")

finally:
    # Close the browser and end the RPA session
    r.close()

Question 4

write a Python rpa package script to login to Xero and print the account statement for the past 12 months from a given date

Response 4

Here's a Python script using the RPA package to log in to Xero and print the account statement for the past 12 months from a given date:

import rpa as r
from datetime import datetime, timedelta
import time

# Initialize the RPA
r.init()

# Xero login credentials
xero_email = "[your_email@example.com](mailto:your_email@example.com)"
xero_password = "your_password"

# Date for the end of the 12-month period (format: YYYY-MM-DD)
end_date = "2024-08-27"

try:
    # Navigate to Xero login page
    r.url('https://login.xero.com/')
    time.sleep(3)

    # Enter email and password
    r.type('//*[@id="xl-form-email"]', xero_email)
    r.type('//*[@id="xl-form-password"]', xero_password)
    r.click('Log in')
    time.sleep(5)

    # Navigate to the Reports section
    r.click('Reports')
    time.sleep(2)
    r.click('All Reports')
    time.sleep(2)

    # Find and click on Account Statement
    r.click('Account Statement')
    time.sleep(3)

    # Set the date range
    end_date = datetime.strptime(end_date, "%Y-%m-%d")
    start_date = end_date - timedelta(days=365)
    
    r.type('//*[@id="fromDate"]', start_date.strftime("%d %b %Y"))
    r.type('//*[@id="toDate"]', end_date.strftime("%d %b %Y"))
    
    # Update the report
    r.click('Update')
    time.sleep(5)

    # Print the report
    r.click('Print')
    time.sleep(3)
    
    # In the print dialog, you might need to select the appropriate printer
    # and click the final print button. This part may vary depending on your system.
    # You might need to use r.click() or r.type() to interact with the print dialog.

    print("Account statement printed successfully.")

except Exception as e:
    print(f"An error occurred: {str(e)}")

finally:
    # Close the browser and end the RPA session
    r.close()
@kensoh kensoh changed the title POC on LLM on TagUI RPA and Python rpa package - see these responses from Claude LLM LLM on TagUI RPA and Python rpa package - see these responses from Claude LLM Aug 27, 2024
@kensoh kensoh changed the title LLM on TagUI RPA and Python rpa package - see these responses from Claude LLM LLM on TagUI RPA and Python rpa package - see responses from Claude LLM Aug 27, 2024
@kensoh kensoh added the query label Aug 27, 2024
@kensoh kensoh closed this as completed Aug 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant