Shellnium is the selenium WebDriver for Bash.
You can exec selenium simply on your terminal.
All you need is Bash or Zsh.
#!/usr/bin/env bash
source ./selenium.sh
main() {
# Open the URL
navigate_to 'https://google.com'
# Get the search box
local searchBox=$(find_element 'name' 'q')
# send keys
send_keys $searchBox "panda\n"
}
main
https://shellnium-site.vercel.app
If you learn by watching videos, check out this screencast by @gotbletu to explore shellnium
features.
# Run ChromeDriver before execute script
$ chromedriver --port=9515
# execute script
$ sh demo.sh
You can add chrome options. e.g. --headless
.
$ sh demo.sh --headless --lang=es
Make sure you have the right version of ChromeDriver and GoogleChrome.
# Check the version of Google Chrome
# ex. MacOS
$ /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version
Google Chrome 89.0.4389.82
# Check the version of ChromeDriver
$ chromedriver --version
ChromeDriver 89.0.4389.23 (61b08ee2c50024bab004e48d2b1b083cdbdac579-refs/branch-heads/4389@{#294})
Download chromedriver
https://chromedriver.chromium.org/downloads
- jq
Shellnium provides the following methods. See document or core.sh for details.
- is_ready
- new_session
- delete_session
- get_cookies
- set_cookies
- delete_cookies
- navigate_to
- get_current_url
- get_title
- back
- forward
- refresh
- get_timeouts
- set_timeouts
- set_timeout_script
- set_timeout_pageLoad
- set_timeout_implicit
- find_element
- find_elements
- find_element_from_element
- find_elements_from_element
- get_active_element
- get_attribute
- get_property
- get_css_value
- get_text
- get_tag_name
- get_rect
- is_element_enabled
- send_keys
- click
- element_clear
- get_source
- exec_script
- element_screenshot
- screenshot
- get_all_cookies
- get_named_cookie
- add_cookie
- delete_cookie
- delete_all_cookies
- get_window_handle
- get_window_handles
- delete_window
- new_window
- switch_to_window
- switch_to_frame
- switch_to_parent_frame
- get_window_rect
- set_window_rect
- maximize_window
- minimize_window
- fullscreen_window
English https://dev.to/rasukarusan/shellnium-simple-selnium-webdriver-for-bash-1a9k
Japanese https://qiita.com/Rasukarusan/items/70a54bd38c71a07ff7bd
$ sh demo2.sh
demo2.sh
is required iTerm2 and Mac OS.
This script is headless and display chromedriver's behavior as iTerm's background with AppleScript.
MIT