{"id":19035250,"url":"https://github.com/omkarcloud/botasaurus-driver","last_synced_at":"2025-04-05T06:03:47.956Z","repository":{"id":235788314,"uuid":"791279537","full_name":"omkarcloud/botasaurus-driver","owner":"omkarcloud","description":"Super Fast, Super Anti-Detect, and Super Intuitive Web Driver","archived":false,"fork":false,"pushed_at":"2025-03-08T14:25:19.000Z","size":726,"stargazers_count":55,"open_issues_count":9,"forks_count":13,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-28T20:42:21.579Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/omkarcloud.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},"funding":{"github":["Chetan11-Dev"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2024-04-24T12:33:56.000Z","updated_at":"2025-03-27T16:47:11.000Z","dependencies_parsed_at":"2024-04-24T16:04:34.424Z","dependency_job_id":"e80887fc-9a22-468c-b852-3116ac22553a","html_url":"https://github.com/omkarcloud/botasaurus-driver","commit_stats":null,"previous_names":["omkarcloud/botasaurus-driver"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omkarcloud%2Fbotasaurus-driver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omkarcloud%2Fbotasaurus-driver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omkarcloud%2Fbotasaurus-driver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omkarcloud%2Fbotasaurus-driver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/omkarcloud","download_url":"https://codeload.github.com/omkarcloud/botasaurus-driver/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247294516,"owners_count":20915340,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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-08T21:49:46.692Z","updated_at":"2025-04-05T06:03:47.935Z","avatar_url":"https://github.com/omkarcloud.png","language":"Python","funding_links":["https://github.com/sponsors/Chetan11-Dev"],"categories":[],"sub_categories":[],"readme":"# Botasaurus Driver\n\nBotasaurus Driver is a powerful Driver Automation Python library that offers the following benefits:\n\n\n- It is really humane; it looks and works exactly like a real browser, allowing it to access any website.\n- Compared to Selenium and Playwright, it is super fast to launch and use.\n- The API is designed by and for web scrapers, and you will love it.\n\n## Installation\n```bash\npip install botasaurus-driver\n```\n\n## Bypassing Bot Detection: Code Example\n\n```python\nfrom botasaurus_driver import Driver\n\ndriver = Driver()\ndriver.google_get(\"https://www.g2.com/products/github/reviews.html?page=5\u0026product_id=github\", bypass_cloudflare=True)\ndriver.prompt()\nheading = driver.get_text('.product-head__title [itemprop=\"name\"]')\nprint(heading)\n```\n\n**Result**\n\n![not blocked](https://raw.githubusercontent.com/omkarcloud/botasaurus/master/images/botasurussuccesspage.png)\n\n## API\nBotasaurus Driver provides several handy methods for web automation tasks such as:\n\n- Navigate to URLs:\n  ```python\n  driver.get(\"https://www.example.com\")\n  driver.google_get(\"https://www.example.com\")  # Use Google as the referer [Recommended]\n  driver.get_via(\"https://www.example.com\", referer=\"https://duckduckgo.com/\")  # Use custom referer\n  driver.get_via_this_page(\"https://www.example.com\")  # Use current page as referer\n  ```\n\n- For finding elements:\n  ```python\n  from botasaurus.browser import Wait\n  search_results = driver.select(\".search-results\", wait=Wait.SHORT)  # Wait for up to 4 seconds for the element to be present, return None if not found\n  search_results = driver.wait_for_element(\".search-results\", wait=Wait.LONG)  # Wait for up to 8 seconds for the element to be present, raise exception if not found\n  hello_mom = driver.get_element_with_exact_text(\"Hello Mom\", wait=Wait.VERY_LONG)  # Wait for up to 16 seconds for an element having the exact text \"Hello Mom\"\n  ```\n\n- Interact with elements:\n  ```python\n  driver.type(\"input[name='username']\", \"john_doe\")  # Type into an input field\n  driver.click(\"button.submit\")  # Clicks an element\n  element = driver.select(\"button.submit\")\n  element.click()  # Click on an element\n  ```\n\n- Retrieve element properties:\n  ```python\n  header_text = driver.get_text(\"h1\")  # Get text content\n  error_message = driver.get_element_containing_text(\"Error: Invalid input\")\n  image_url = driver.select(\"img.logo\").get_attribute(\"src\")  # Get attribute value\n  ```\n\n- Work with parent-child elements:\n  ```python\n  parent_element = driver.select(\".parent\")\n  child_element = parent_element.select(\".child\")\n  child_element.click()  # Click child element\n  ```\n\n- Execute JavaScript:\n  ```python\n  result = driver.run_js(\"return document.title\")\n  text_content = element.run_js(\"(el) =\u003e el.textContent\")\n  ```\n\n- Working with iframes:\n  ```python\n  driver.get(\"https://www.freecodecamp.org/news/using-entity-framework-core-with-mongodb/\")\n  iframe = driver.get_iframe_by_link(\"www.youtube.com/embed\") \n  # OR following works as well\n  # iframe = driver.select(\".embed-wrapper iframe\") \n  freecodecamp_youtube_subscribers_count = iframe.select(\".ytp-title-expanded-subtitle\").text\n  ```\n\n- Miscellaneous:\n  ```python\n  form.type(\"input[name='password']\", \"secret_password\")  # Type into a form field\n  container.is_element_present(\".button\")  # Check element presence\n  page_html = driver.page_html  # Current page HTML\n  driver.select(\".footer\").scroll_into_view()  # Scroll element into view\n  driver.close()  # Close the browser\n  ```\n\n## Love It? [Star It ⭐!](https://github.com/omkarcloud/botasaurus-driver)\n\nBecome one of our amazing stargazers by giving us a star ⭐ on GitHub!\n\nIt's just one click, but it means the world to me.\n\n[![Stargazers for @omkarcloud/botasaurus-driver](https://bytecrank.com/nastyox/reporoster/php/stargazersSVG.php?user=omkarcloud\u0026repo=botasaurus-driver)](https://github.com/omkarcloud/botasaurus-driver/stargazers)\n\n## Made with ❤️ using [Botasaurus Web Scraping Framework](https://github.com/omkarcloud/botasaurus)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomkarcloud%2Fbotasaurus-driver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomkarcloud%2Fbotasaurus-driver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomkarcloud%2Fbotasaurus-driver/lists"}