= TabDriver :stylesheet: ../shared/adoc-styles.css :toc: :toclevels: 4 * Wrapper for `selenium` to make it easier to use. * Must use `Chrome` (not `Chromium`). * Must supply `.properties` file with. chrome.driver.path= headless=false download.dir= == Usage === Init [source,java] var confPath = Path.of("/foo/tabdriver.properties"); var td = TabDriverBuilder.build(confPath); === Web Navigation * `TabDriver` is somewhat opionionated. * The default way of fetching an element is by `css` selector. ** i.e. `td.findByCss("input[name='q']")` ** this returns an `Optional` which the consumer can ** the optional is empty on any error. decide how to consume. === Quick Recap of CSS Selectors |=== | Selector | Description | `[class*='x']` , `[aria-label*='x']` | `attribute` containing `x` | button[class*='email'] | button with a class containing the word `email` | form[action*='sign'] | form with an action attribute containing the word `sign` | button.tv-button#email-signin | button with class `tv-button` and id `email-signin`