use thirtyfour_sync::prelude::*;
fn main() -> color_eyre::Result<()> {
color_eyre::install()?;
let caps = DesiredCapabilities::chrome();
let driver = WebDriver::new("http://localhost:4444", &caps)?;
driver.get("https://wikipedia.org")?;
let elem_form = driver.query(By::Id("search-form")).first()?;
let elem_text = elem_form
.query(By::Css("thiswont.match"))
.or(By::Id("searchInput"))
.desc("search input")
.first()?;
elem_text.send_keys("selenium")?;
let elem_button =
elem_form.query(By::Css("button[type='submit']")).desc("search button").first()?;
elem_button.click()?;
elem_button.wait_until().error("Timed out waiting for button to become stale").stale()?;
driver.query(By::Css("button[type='submit']")).nowait().not_exists()?;
driver.query(By::ClassName("firstHeading")).first()?;
assert_eq!(driver.title()?, "Selenium - Wikipedia");
driver.quit()?;
Ok(())
}