- 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.cleardriver.quit