{"id":19607273,"url":"https://github.com/robocorp/example-auction-sniper-challenge","last_synced_at":"2026-03-19T10:46:33.382Z","repository":{"id":103903029,"uuid":"480803815","full_name":"robocorp/example-auction-sniper-challenge","owner":"robocorp","description":"A robot that solves the Auction Sniper challenge.","archived":false,"fork":false,"pushed_at":"2023-02-16T14:14:54.000Z","size":476,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":18,"default_branch":"main","last_synced_at":"2025-02-26T16:50:27.155Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"RobotFramework","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robocorp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-12T12:37:13.000Z","updated_at":"2024-06-10T12:51:26.000Z","dependencies_parsed_at":"2023-07-26T03:47:00.455Z","dependency_job_id":null,"html_url":"https://github.com/robocorp/example-auction-sniper-challenge","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/robocorp/example-auction-sniper-challenge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robocorp%2Fexample-auction-sniper-challenge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robocorp%2Fexample-auction-sniper-challenge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robocorp%2Fexample-auction-sniper-challenge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robocorp%2Fexample-auction-sniper-challenge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robocorp","download_url":"https://codeload.github.com/robocorp/example-auction-sniper-challenge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robocorp%2Fexample-auction-sniper-challenge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30078308,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T08:01:56.766Z","status":"ssl_error","status_checked_at":"2026-03-04T08:00:42.919Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T10:09:46.545Z","updated_at":"2026-03-04T10:31:34.199Z","avatar_url":"https://github.com/robocorp.png","language":"RobotFramework","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Auction Sniper Challenge\n\n\u003cimg src=\"images/auction-website.png\" style=\"margin-bottom:20px\"\u003e\n\nThis robot solves the [Auction Sniper Challenge](https://developer.automationanywhere.com/challenges/automationanywherelabs-auctionsniper.html).\n\n\u003e In this challenge, create a bot that is able to place a bid as close to 0 seconds left in the auction as possible to score the best deal! If your bid is placed with too much time left in the auction, you may find that you get outbid, or end up paying more than a bid that is placed right before the auction ends.\n\n## The robot code\n\n\u003e Note: There is no one and only \"correct\" solution. This is just one example of how you _might_ use Robocorp to solve this challenge.\n\nThe robot uses the [RPA.Browser.Playwright](https://robocorp.com/docs/libraries/rpa-framework/rpa-browser-playwright) library for browser automation. And that's all we need in this challenge!\n\n```robot\n*** Settings ***\nDocumentation     Completes the Auction Sniper challenge.\nLibrary           RPA.Browser.Playwright\n\n*** Tasks ***\nComplete the Auction Sniper challenge\n    Open the auction website and accept cookies\n    Prepare the bid\n    Wait until the last moment\n    Confirm the bid\n    Take a screenshot of the result\n\n*** Keywords ***\nOpen the auction website and accept cookies\n    New Context    userAgent=Chrome/100.0.4896.75\n    New Page\n    ...    https://developer.automationanywhere.com/challenges/automationanywherelabs-auctionsniper.html\n    Click    id=onetrust-accept-btn-handler\n\nWait until the last moment\n    Wait For Elements State\n    ...    id=time-left \u003e\u003e text=\"0 seconds\"\n    ...    timeout=0:00:59\n    Sleep    0.961 seconds\n\nPrepare the bid\n    ${current_price}=    Get Text    id=auction-price\n    Fill Text    id=ending-soonest-bid    ${{${current_price} + 3}}\n    Click    id=auctionQuickBid\n\nConfirm the bid\n    Click    css=#bidConfirm .btn-success    force=True\n\nTake a screenshot of the result\n    Sleep    1 second\n    Take Screenshot    selector=css=#myModal .modal-content\n```\n\n### Open the auction website and accept cookies\n\nThe robot opens a new headless browser and accepts the cookies.\n\n### Prepare the bid\n\nThe robot checks the current highest bid and raises that by \u0026dollar;3 but does not confirm the bid yet. The `${{ ... }}` syntax is used to evaluate a Python expression.\n\n### Wait until the last moment\n\nThe [Wait For Elements State](https://robocorp.com/docs/libraries/rpa-framework/rpa-browser-playwright/keywords#wait-for-elements-state) keyword waits until it finds an element with the `id` of `time-left` and that contains the text `0 seconds`. The [RPA.Browser.Playwright](https://robocorp.com/docs/libraries/rpa-framework/rpa-browser-playwright) library supports chaining multiple selector strategies for maximum flexibility when targeting elements (CSS, XPath, text).\n\n### Confirm the bid\n\nThe confirmation is completed by clicking a button.\n\n### Take a screenshot of the result\n\nFinally, the robot takes a screenshot of the result modal.\n\n\u003cimg src=\"images/result.png\" style=\"margin-bottom:20px\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobocorp%2Fexample-auction-sniper-challenge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobocorp%2Fexample-auction-sniper-challenge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobocorp%2Fexample-auction-sniper-challenge/lists"}