- Ruby v2.5.1
- macOS Catalina 10.15
Open terminal and run gem install selenium-webdriver
.
$ gem list | grep selenium-webdriver
selenium-webdriver (3.142.7, 3.142.3)
2.2 webdrivers
Run gem install webdrivers
in terminal.
$ gem list | grep webdrivers
webdrivers (4.3.0, 4.0.0)
Require the gems:
require 'selenium-webdriver'
require 'webdrivers'
Initialize a session:
driver = Selenium::WebDriver.for :chrome # OR :safari, :firefox, etc.
driver.get WEBPAGE_URL
... for content to appear on the page.
wait = Selenium::WebDriver::Wait.new(timeout: 10) # in seconds
element = wait.until { driver.find_element(id: 'myform') }
To find all elements matching a criteria, you can do driver.find_elements(...)
.
Search for a submit button anywhere in the page:
element = driver.find_element(xpath: "//button[@type='submit']")
You can click the submit button with element.click
.
Enter a value:
element.send_keys('[email protected]')
Clear existing value:
element.clear
driver.quit