TagUI RPA Challenge submissions

  • TagUI RPA Challenge submissions

     TWS updated 2 weeks, 3 days ago 7 Members · 85 Posts
  • kensoh

    Organizer
    August 3, 2021 at 4:35 pm

    Automation Anywhere is organising a RPA challenge this month, with a new challenge every Monday. AI Singapore would like to invite submissions to solve these RPA scenarios using TagUI free and open-source RPA (can be any flavour of it, human language, Python, C#, MS Word etc).

    Top 2 entries per week will walk away with a LearnAI premium subscription (worth $500 USD). LearnAI is a learning platform by AI Singapore with over 500 hours of courses to learn and put AI into practice. It also comes with DataCamp premium subscription (worth $400 USD).

    To take part, solve the weekly challenge using TagUI and post your result here. Multiple entries allowed as you improve your timings. Thanks to Automation Anywhere for your competitive sports infrastructure! 🙏

    PS 1 – to play fair, prizes are only for folks outside of AI Singapore

    PS 2 – a special Tournament Edition of TagUI is created to up the fun factor, see the link below to see how you can enable and disable turbo mode with 1 line. Instructions included for both TagUI human language and Python versions. https://github.com/kelaberetiv/TagUI/issues/1093

  • kensoh

    Organizer
    August 3, 2021 at 4:54 pm
  • matinciel

    Member
    August 4, 2021 at 11:39 pm

    I am sure I can do it quicker by hand, but I did it with Python and RPA 🙂 (Time to get faster). @kensoh AutomationAnywh mentionned they will post a solution tomorrow, not sure if you want to keep you deadline.

    • kensoh

      Organizer
      August 5, 2021 at 12:01 am

      @matinciel thanks for making the first submission! Maybe for this week we stick with Sunday, otherwise it is too short a notice to cut-off. Do you mean you are using RPA for Python package? If yes, here’s a tip to speed up 20x 😄

      https://github.com/tebelorg/RPA-Python/issues/120#issuecomment-610532082

      PS – this ‘turbo’ mode can also be applied to TagUI human language version. for competition only, not for production

    • kensoh

      Organizer
      August 5, 2021 at 3:15 pm

      @matinciel I added the ‘Tournament Edition’ of TagUI for both human language and Python versions. See initial post above for how to enable that mode in 1 line. Speed improvement is 20x for me. Without is 160s, with is 8s.

      • matinciel

        Member
        August 5, 2021 at 3:41 pm

        Took me some times to test :).

        guess nobody will beat me (I reproduce it twice, then reset everything) and got a time of 49,110 seconds (around same was manually measured during the 0.00).

        I add to “tweek” the sate selection, not by just typing the result, but rather selecting it (r.type to r.select).

        If I apply this :

        function sleep(ms) {return; // helper to add delay during loops then it mess up with the formulaire (not been able to submit I guess. All the fields are filled up with all the data eg for names : name1name2).

        • kensoh

          Organizer
          August 5, 2021 at 3:57 pm

          Oh congrats! 😀 Do you mean you found a solution to achieve 0s? Then you would be one of the the winners for week #1.

          I see, yes I found that both type and select works for the dropdown menu.

          Sounds like the turbo mode can work on some computer/browser but not others. Mine works in quite a stable way, at least for this week 1 challenge website.

          • matinciel

            Member
            August 5, 2021 at 5:01 pm

            I discover a bug… (I am not able to reproduce after reseting everything, and I don’t know what I have done to achieve that, except tweeking everything for 2 hours :)).

            Even with turbo mode the type is working for the State ?

            • kensoh

              Organizer
              August 5, 2021 at 5:24 pm

              I see, sure let me know if you have more clues how to replicate. For my 8s version (turbo mode) I’m using select for State field, for my 0.1s version I’m assigning the value directly using JavaScript on the web browser DOM.

            • matinciel

              Member
              August 6, 2021 at 8:19 pm

              I try to replicate the 0.0 seconds I am able to sometimes, then rerun the same code with a different results (mainly 45seconds)…

              I am using VS code

              Python 3.9.1 64 bits, I am running half in a venv environnement (meaning a create one but I am not able to make the venv Python working, so I use the global ones… (remember newbie ;-)).

              Chrome version : 92.0.4515.131

              Windows 10 Pro version 10.0.19041

              (I have Selenium “driver” installed)

              I have tried again the turbo mode with the Python code you published on github

              def turbo_mode(on_off = None):
                  import rpa as r; import platform....

              I have to make the import statement outside of the function for it to work (it’s in main, it may not be the intent I guess) otherwise it does not know the r.init() after calling the function.

              The issue I have with the turbo mode, it that I cannot click the register button.

              r.click('//*[@id="submit_button"]')


              ------

              [tagui] INPUT -

              [350] {"id":350,"method":"Runtime.evaluate","params":{"expression":"document.evaluate('//*[@id=\"submit_button\"]',document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null).snapshotLength"}}

              [tagui] OUTPUT -

              [350] {"id":350,"result":{"result":{"type":"number","value":1,"description":"1"}}}

              [tagui] INPUT -

              [351] {"id":351,"method":"Runtime.evaluate","params":{"expression":"document.evaluate('//*[@id=\"submit_button\"]',document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null).snapshotLength"}}

              [tagui] OUTPUT -

              [351] {"id":351,"result":{"result":{"type":"number","value":1,"description":"1"}}}

              [tagui] INPUT -

              [352] {"id":352,"method":"Runtime.evaluate","params":{"expression":"document.evaluate('//*[@id=\"submit_button\"]',document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null).snapshotItem(0).scrollIntoViewIfNeeded()"}}

              [tagui] OUTPUT -

              [352] {"id":352,"result":{"result":{"type":"undefined"}}}

              [tagui] INPUT -

              [353] {"id":353,"method":"Runtime.evaluate","params":{"expression":"var result_bounds = document.evaluate('//*[@id=\"submit_button\"]',document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null).snapshotItem(0).getBoundingClientRect(); var result_xy = {x: Math.round(result_bounds.left + result_bounds.width / 2), y: Math.round(result_bounds.top + result_bounds.height / 2)}; result_xy","returnByValue":true}}

              [tagui] OUTPUT -

              [353] {"id":353,"result":{"result":{"type":"object","value":{"x":197,"y":441}}}}

              Same If I try myself to click on the Register button.

              Then I see all the text entered are added (not replacing) the already existing one in the formulaire

              Pathfinder Roofing and SidingFlashpointCrooked

              not sure it if it ok to post that here ? Should I report in github ? Do you need anything else ?


              • This reply was modified 1 month, 1 week ago by  matinciel.
            • kensoh

              Organizer
              August 7, 2021 at 2:33 am

              I see, seems like the website has some bug, I just tried running and it shows 0.00 seconds. Even though my run took a few seconds.

              Yes you will need import rpa as r statement outside of the function. That example was designed to run on its own or to be inserted to your existing script which already has import rpa as r.

              For mine, I use r.click(‘Register’) and it works. Did you click the Download CSV button at the start of your automation. From the organiser website instructions for week #1, it says must click download before running. Am guessing if that could be the reason why it does not allow you to submit.

            • kensoh

              Organizer
              August 7, 2021 at 10:51 am

              Forgot to add that posting here is fine. Telegram or GitHub or here we’ll follow closely.

              I’ll probably share back my solutions here, for under 10s and under 1s on Monday.

  • kensoh

    Organizer
    August 9, 2021 at 2:16 pm

    Congrats to week 1 winner @matinciel ! – I’m reaching out to send the prize (worth $500 USD, LearnAI premium subscription + Datacamp annual premium subscription)

    My solutions & tips for week 1 (both using normal RPA way taking under 10s and JavaScript injection hack taking under 1s) can be found here – https://github.com/kelaberetiv/TagUI/issues/1093#issuecomment-894973771

    Week #2 challenge – https://developer.automationanywhere.com/blog/challenge-page-intro-supply-chain

    Week #2 website – https://developer.automationanywhere.com/challenges/automationanywherelabs-supplychainmanagement.html

    Cut-off date – by end of Sunday

    PS 1 – for this week’s challenge, you will need to open up a new tab and concurrently automate 2 web browser tabs. Hint – you can use dom window.open(‘new_url’) to open a new tab (alternatively you can use keyboard step). Use popup step to switch to automating that tab.

    PS 2 – a special Tournament Edition of TagUI is created to up the fun factor, see the link below to see how you can enable and disable turbo mode with 1 line. Instructions included for both TagUI human language and Python versions. https://github.com/kelaberetiv/TagUI/issues/1093

  • nivedn

    Member
    August 10, 2021 at 12:39 pm

    Completed AA Week2 challenge using Tagui for python [ in turbo mode 🔥]within 15 seconds.

  • nivedn

    Member
    August 10, 2021 at 5:47 pm

    Update to the week 2 challenge

    I completed the week 2 challenge within 13 seconds

    • kensoh

      Organizer
      August 12, 2021 at 12:52 am

      Thank you Nived for sending and improving your entry!

  • cheehuat

    Member
    August 11, 2021 at 4:31 pm

    Attempted AA Supply Chain Management Challenge with TagUI in Turbo Mode!

    • kensoh

      Organizer
      August 12, 2021 at 12:53 am

      Thank you Chee Huat for sending your turbo mode entry!

  • matinciel

    Member
    August 11, 2021 at 9:32 pm

    (almost) Same here

    2 basics (probably) questions :

    1- how would you handle a random number of PO order in the first page ?

    2- would you look to the filename (StateAssignments.xlsx)

    (like a search for all PONumber0,1,2)

    • kensoh

      Organizer
      August 12, 2021 at 12:57 am

      Thanks Matinciel for sending your entry!

      1. There are 2 ways, one is read all at one go, before doing the search all at one go in the 2nd webpage. Another way is read one and search in 2nd webpage and repeat. You probably found a good solution since you have completed the challenge successfully.

      2. For now TagUI does not have direct integration with .xlsx files (that will be added soon), doing it natively means opening up using visual automation and keyboard shortcuts to grab the data. This way is too slow, so a faster way would be using a suitable Python package or Pandas package to read the .xlsx file. This can be done with TagUI human language too using its Python integration, or using the RPA for Python package directly.

      • matinciel

        Member
        August 12, 2021 at 5:11 am

        Sorry I see my question was not clear.

        1-

        I do have a loop to fill a table with all the PONumber at once (not coming back and forth on tab).

        It a for loop which has 7 steps (because I see there is 7 PO on the tab). My question was what solution could we implement to grab all PO number if we don’t know how many there are. (In Selenium there is a find elementS – see plural, which return all instances).

        Something like

        r.read-S-('PONumber?') 

        returning all the items : PONumber1, PONumber2…PONumberx

        2-

        I do use pandas to read the xlsx, my question was how to know what is the name of the downloaded file. (I have the name hardcoded)

        pd.read_excel('MissingCustomers.csv')

        But I am sure there is a way to grab the url, and extract only the name ?

        https://s3-us-west-2.amazonaws.com/aai-devportal-media/wp-content/uploads/2021/07/08203317/MissingCustomers.csv

        • matinciel

          Member
          August 12, 2021 at 2:56 pm

          Just by optimizing my internet connection (no change in code at all). I can reach 14.860 seconds (compare to first result 22seconds).

          • kensoh

            Organizer
            August 12, 2021 at 3:56 pm

            Oh that’s a lot of difference in timing! Looks like for this week 2 it is pretty dependent on internet latency.

            For your earlier questions, you can use count(‘XPath’) to return the number of elements. In this case, something like – count(‘PONumber’) since the matching is done for full match and partial match in common HTML attributes.

            The other question on filename you can get it by some_url.split(‘/’)[-1] to break into an array with / as delimiter and choosing the last array item.

            • matinciel

              Member
              August 12, 2021 at 4:03 pm

              Thanks !

  • Abdulaziz Shaikh

    Member
    August 12, 2021 at 2:23 am

    I have completed AA BotGames week2 challenge in 6.655 seconds (using python version).

    I want to use Javascript. But I am facing issue in dom function.

    Is there any limit on length of string which is to be passed to the dom function?

    • matinciel

      Member
      August 12, 2021 at 5:20 am

      Very nice, hope you will post your code on sunday 🙂

  • Abdulaziz Shaikh

    Member
    August 12, 2021 at 11:25 pm

    2nd attempt to AA botgames week 2 challenge.

    • kensoh

      Organizer
      August 13, 2021 at 8:04 am

      Oh congrats Abdulaziz, this is the fastest timing so far! I’ll probably keep 1 prize for JavaScript solution and 1 prize for normal RPA solution.

    • kensoh

      Organizer
      August 16, 2021 at 12:50 am

      Congrats @Abdulaziz Shaikh ! Looks like you have the fastest timing for week 2. I’ll message you directly to send you the prize (AI Singapore’s LearnAI premium subscription, which comes with DataCamp 1-year premium subscription).

  • nivedn

    Member
    August 13, 2021 at 2:18 pm

    Update to week2 challenge

    Completed it in 7 seconds

    • kensoh

      Organizer
      August 14, 2021 at 12:52 am

      Congrats Nived for halving your initial time taken!

      • kensoh

        Organizer
        August 16, 2021 at 12:55 am

        Congrats @nivedn ! Looks like your timing has won you a prize for week 2. I’ll message you directly to send you the prize (AI Singapore’s LearnAI premium subscription, which comes with DataCamp 1-year premium subscription).

  • TWS

    Member
    August 15, 2021 at 9:31 am

    I have been wanting to try out TagUI and chanced upon this challenge posted by @kensoh . For Week #2 challenge, this is my best timing after few tries. Since interacting with web UI, timing is quite dependent on network latency (and luck).

    Here is my general approach using a mix of RPA (TagUI in turbo mode) and Selenium from Python:

    1) Access ‘Purchase Order Tracking’ webpage with error handling on login failure [Selenium]

    2) Access ‘Supply Chain Management’ webpage [TagUI]

    3) Extract URL to Agent Territory Spreadsheet from href attribute [TagUI]

    4) Access ‘Agent Territory Spreadsheet’ and store data in key:value pairs

    5) Count total number of PONumber in ‘Supply Chain Management’ webpage [TagUI]

    6) Iterate thru each ‘PONumber’

    6.1) Get ‘PONumber’ from ‘Supply Chain Management’ webpage [TagUI]

    6.2) Get ‘State’, ‘ShipDate’ and ‘OrderTotal’ from ‘Purchase Order Tracking’ webpage [Selenium]

    6.3) Input ‘ShipDate’, ‘OrderTotal’ and ‘Agent’ into ‘Supply Chain Management’ webpage [TagUI]

    7) Click ‘submit’ button [TagUI]

    8) Read and print results [TagUI]

    9) Click ‘logout’ button and close ‘Purchase Order Tracking’ webpage [Selenium]

    • kensoh

      Organizer
      August 16, 2021 at 12:49 am

      Thanks @TWS for sharing your automation design (letting Python Selenium handle 2nd webpage and I assume Python TagUI handle 1st webpage), it looks like your timing is 2nd fastest! I’ll message you directly to send you the prize (AI Singapore’s LearnAI premium subscription, which comes with DataCamp 1-year premium subscription).

  • kensoh

    Organizer
    August 17, 2021 at 2:44 pm

    Congrats to winners for week 2! – Abdulaziz Shaikh and Nived N. I’ve reached out to send the prize (worth $500 USD, LearnAI premium subscription + Datacamp annual premium subscription).

    Shout out to TWS for also winning this week with very good timing but decided to give the prize to somebody else who may benefit more.

    My solution and tips for week 2 – https://github.com/kelaberetiv/TagUI/issues/1093#issuecomment-899311215

    Week #3 challenge – https://developer.automationanywhere.com/blog/challenge-page-intro-human-resourc

    Week #3 website – https://developer.automationanywhere.com/challenges/automationanywherelabs-employeedatamigration.html

    Cut-off date – by end of Sunday Singapore time (UTC+8)

    Tip 1 – for this week’s challenge, it requires working with REST API and desktop app. For TagUI human language version, use api step. For Python, the standard way to consume API is using Python requests package. For opening desktop app, you can use the Windows Run popup, double-click on the desktop icon, or use the run step (in non-blocking way):

    run cmd /c start C:/Users/your_user_id/Desktop/EmployeeList.exe

    Tip 2 – a special Tournament Edition of TagUI is created to up the fun factor, see the link below to see how you can enable and disable turbo mode with 1 line. Instructions included for both TagUI human language and Python versions. https://github.com/kelaberetiv/TagUI/issues/1093

    • matinciel

      Member
      August 20, 2021 at 5:22 am

      It seems I can optimize a bit my for loop (seeing the number of time the program has bene opened, but anyway I did it – with some help of @kensoh as usual 🙂 ). I am using Sikulix only for clicking on the field to enter the ID, and then to click the search (I have tried with TAB, ENTER it’s not working !!!). then I tab, and copy paste. Is there a shorter way to assign the clipboard to a variable ?

      r.keyboard('[ctrl]c')

      FirstName = r.clipboard()

      • kensoh

        Organizer
        August 20, 2021 at 9:17 am

        Hi @matinciel 👋🏻, for tab enter in my MS Word solution I used keyboard employeeID[tab][enter] – for Python version similar form should work, but maybe there’s some other unknown blockers. Oh you can define a Python function to do this to simplify –

        def readField():
        r.keyboard('[ctrl]c')
        return r.clipboard()

        • matinciel

          Member
          August 23, 2021 at 5:13 am

          Thanks, indeed tab, enter works on my other PC… (not retested on the first one). No VPN, no proxy I can reach 100sec.

          • kensoh

            Organizer
            August 23, 2021 at 11:03 am

            I see.. Great! Would you like to try disable turbo mode and enable again? I’ve put in an enhancement that can speed up automating desktop apps as well. To let steps like keyboard, or type using visual automation run faster. You can’t win week 3 prize because you have won before haha, but this could be fun to try out 🙂

            • matinciel

              Member
              August 23, 2021 at 3:04 pm

              I was already with the “new” turbo mode. I’ve tried again but can’t get less than 98sec. (The “journey” in the .exe file is a bit long, to copy paste all the info it tooks about 7 secs for each ID).

              ...
              r.click('W3_search.png')
              logging.info('Search has been clicked')
              #move with tab to copy all the information
              r.keyboard('[TAB][TAB]')
              r.keyboard('[ctrl]c')
              FirstName = r.clipboard()
              r.keyboard('[TAB]')
              r.keyboard('[ctrl]c')
              LastName = r.clipboard()
              r.keyboard('[TAB][TAB]')
              r.keyboard('[ctrl]c')
              ...

              NB : I could have won with the best time, but not claiming the prize 🙂 – but as you see even trying I am far from the other.

              • This reply was modified 3 weeks, 3 days ago by  matinciel.
            • kensoh

              Organizer
              August 23, 2021 at 8:34 pm

              This is also how I solved for week 3. Mine runs faster now sure why. Can you check inside your r.tagui_location() the .tagui/src/tagui.sikuli/tagui.py ? Is it scan_period = 0 for you? Thi new turbo mode reduces the communication delays from TagUI to SikuliX engine to 0 and it should ideally run faster than 7 seconds per ID.

            • matinciel

              Member
              August 24, 2021 at 4:27 pm

              I confirm it is 0

            • kensoh

              Organizer
              August 24, 2021 at 4:31 pm

              Interesting yet strange, for the keyboard and clipboard step to take 7 seconds per ID. Maybe there are other bottlenecks which I have not come across.

            • matinciel

              Member
              August 24, 2021 at 4:32 pm

              not an issue for me (seems turbo mode is only to play with challenges).

              If you need more info let me know anyway.

            • kensoh

              Organizer
              August 24, 2021 at 7:56 pm

              Sure, we leave that for now 🙂 Yes, I do not recommend turbo mode for production usage. It is fragile and likely to cause RPA to fail, depending on different computer speed and different target applications to be automated.

  • Abdulaziz Shaikh

    Member
    August 17, 2021 at 3:13 pm

    Hello guys,

    Here is my code for week 2 challenge.

    Approach:

    First I am scraping all of the tables from procurement portal.

    And then joining this data with the excel sheet based on state.

    Finally, passing this joined data to javascript array which then performs the task.

    Code – Python version:

    import pandas as pd

    import rpa as r

    def turbo_mode(on_off = None):

    import rpa as r; import platform

    if on_off is None:

    print(‘[USAGE] provide True / False as parameter’)

    return False

    if platform.system() == ’Windows’:

    tagui_src_directory = r.tagui_location() + ’/tagui/src’

    else:

    tagui_src_directory = r.tagui_location() + ’/.tagui/src’

    if on_off:

    print(‘[RPA] updating to tournament edition’)

    r.download(’https://github.com/kelaberetiv/TagUI/files/6935906/tagui_header_py.txt’, tagui_src_directory + ’/tagui_header.js’)

    r.download(’https://github.com/kelaberetiv/TagUI/files/6935910/tagui_chrome_py.txt’, tagui_src_directory + ’/tagui_chrome.php’)

    print(‘[RPA] done’)

    else:

    print(‘[RPA] reverting to production edition’)

    r.download(’https://raw.githubusercontent.com/tebelorg/TagUI/rpa_python/src/tagui_header.js’, tagui_src_directory + ’/tagui_header.js’)

    r.download(’https://raw.githubusercontent.com/tebelorg/TagUI/rpa_python/src/tagui_chrome.php’, tagui_src_directory + ’/tagui_chrome.php’)

    print(‘[RPA] done’)

    return True

    r.tagui_location(”C:\MyData\PyTagUi”)

    r.init(True, True)

    turbo_mode(True)

    r.url(’https://developer.automationanywhere.com/challenges/AutomationAnywhereLabs-POTrackingLogin.html’)

    r.type(’inputEmail’, ’admin@procurementanywhere.com’)

    r.type(’inputPassword’, ’paypacksh!p’)

    r.click(’//*[@onclick=”validate()”]’)

    r.select(’//*[@name=”dtBasicExample_length”]’, ’100’)

    for i in range(9):

    r.table(’dtBasicExample’, ’procurementTable’+str(i)+’.csv’)

    r.click(’//A[@class=”paginate_button current”]/following-sibling::A’)

    r.table(’dtBasicExample’, ’procurementTable9.csv’)

    table = []

    excel_table = pd.read_excel(’StateAssignments.xlsx’)

    print(”Done scraping tables”)

    for i in range(10):

    df = pd.read_csv(’procurementTable’+str(i)+’.csv’)

    for j in range(len(df.axes[0])):

    agent = excel_table.set_index(”State”).loc[df[”State”][j], ”Full Name”]

    row = {

    ”PO Number”: df[’PO Number’][j],

    ”Full Name”: agent,

    ”Ship Date”: df[’Ship Date’][j],

    ”Order Total”: df[’Order Total’][j][1:]

    }

    table.append(row)

    row;

    dom_queries = []

    dom_query = ”window.data=[];”

    dom_queries.append(dom_query)

    j = 0

    tableLength = len(table)

    while j < tableLength:

    dom_query = ””

    while True:

    dom_query += ”window.data.push({”;

    dom_query += ”’poNumber’: ’” + table[j][”PO Number”] + ”’,”

    dom_query += ”’agent’: ’” + table[j][”Full Name”] + ”’,”

    dom_query += ”’orderTotal’: ’” + table[j][”Order Total”] + ”’,”

    dom_query += ”’shipDate’: ’” + table[j][”Ship Date”] + ”’});”

    j += 1

    if len(dom_query) >= 3750 or j >= tableLength:

    dom_queries.append(dom_query)

    break

    dom_query = ”for (i = 1; i < 8; ++i) {”

    dom_query += ”poNum = document.querySelector(’#PONumber’+i).value;”;

    dom_query += ”sDate = document.querySelector(’#shipDate’+i);”

    dom_query += ”orderTotal = document.querySelector(’#orderTotal’+i);”

    dom_query += ”agent = document.querySelector(’#agent’+i);”

    dom_query += ”for (j = 0; j < window.data.length; ++j) {”

    dom_query += ”if (window.data[j].poNumber === poNum) {”

    dom_query += ”sDate.value = window.data[j][’shipDate’];”

    dom_query += ”orderTotal.value = window.data[j][’orderTotal’];”

    dom_query += ”agent.value = window.data[j][’agent’];break;}}}”

    dom_query += ”document.querySelector(’#submitbutton’).click();”

    dom_queries.append(dom_query)

    r.keyboard(‘[ctrl][t]’)

    r.keyboard(’https://google.com[enter]’)

    r.popup(’https://google.com’)

    r.url(’https://developer.automationanywhere.com/challenges/automationanywherelabs-supplychainmanagement.html’)

    for query in dom_queries:

    r.dom(query)

    • kensoh

      Organizer
      August 17, 2021 at 3:18 pm

      Thanks Abdulaziz, for sharing your unique approach to achieve the fastest timing 👏🏻 Firstly, you build a local database from the supporting website. Secondly, you use JavaScript and dom() function to directly send automation instructions over to the main website.

    • cheehuat

      Member
      August 21, 2021 at 5:59 pm

      Cool! I am still trying to wrap around my head this dom thing. 😂

      • kensoh

        Organizer
        August 21, 2021 at 11:31 pm

        Oh yes, using dom step, TagUI can send JavaScript instructions to Chrome browser to be executed directly within the browser. If a user bother to spend the time to write those JavaScript code, it is possible to get sub-second results. Because 0 communication overheads between the RPA tool and web browser. Send all instructions first, then run at one go. But this is hardly useful in real RPA scenarios because this is very brittle and not generalised enough to work for most websites.

  • Mirza Ahsan Baig

    Member
    August 19, 2021 at 3:02 am

    I had to use my younger brother’s PC because of the resolution issues my laptop was facing. The turbo mode does not work for me since my brother’s PC has low specs 😕. I managed to decrease the time from 600s to this… ✌

    Note: I used human language on MS Word for this challenge.

    • kensoh

      Organizer
      August 19, 2021 at 3:30 am

      Hi Mirza, nice implementing using MS Word! I see, yes turbo mode can make CPU heat up very fast. Is this for week #2 or week #3 challenge?

      • Mirza Ahsan Baig

        Member
        August 19, 2021 at 3:40 am

        This is for week 3. I didn’t submit the week 2 result here (since I didn’t know the submission process 😬)

        • kensoh

          Organizer
          August 19, 2021 at 11:06 am

          Congrats for being the first submission for Week #3 😀

          Can you share more what problem is it on turbo mode on your brother’s PC?

          • Mirza Ahsan Baig

            Member
            August 19, 2021 at 5:41 pm

            Thx.

            Because of the turbo mode, everything was malfunctioning… the click coordinates were offseted irregularly, the text wasn’t being copied and/or pasted in it’s respective field. The screen got stuck in the middle as well 🤔

            • kensoh

              Organizer
              August 19, 2021 at 11:39 pm

              I see.. Later this week if there is a need to, I can get your Word doc to run on my PC. So that you can get an accurate timing instead of the normal mode timing.

            • kensoh

              Organizer
              August 23, 2021 at 12:46 pm

              Congrats Mirza for being one of the winner for week 3! I’ll private message you on verifying your solution and send you the prize 🙂

Viewing 1 - 15 of 24 replies

Log in to reply.

Original Post
0 of 0 posts June 2018
Now