Como fazer com que um bot Selenium / Ruby aguarde antes de executar uma ação?

Estou criando um bot da web Selenium / Ruby que clica em elementos. O problema é que, às vezes, não há tempo suficiente para a página carregar antes que o bot decida que não consegue encontrar o elemento.

Qual é a maneira Ruby de fazer com que o Selenium espere antes de executar uma ação? Eu preferiria a espera explícita, mas também estou bem com a espera implícita.

Eu tentei usar owait.until método:

require "selenium-webdriver"
require "nokogiri"
driver = Selenium::WebDriver.for :chrome
wait = Selenium::WebDriver::Wait.new(:timeout => 15)
driver.navigate.to "http://google.com"
driver.wait.until.find_element(:class, "gb_P").click

Mas estou recebendo o seguinte erro:

Undefined method 'wait' for <Selenium::WebDriver>

Eu também tentei:

require "watir-webdriver/wait"
...
driver.find_element(:class, "gb_P").wait_until.click

mas isso também está me dando um erro de método indefinido:

undefined method `when_present' for #<Selenium::WebDriver...>

questionAnswers(7)

yourAnswerToTheQuestion