A library that add some extra methods to selenium-webdriver's until module.
I was writing my personal project using selenium-webdriver and I needed some extra conditions to wait upon. So I've opened the issue on Selenium's GitHub to add this methods, and apparently they don't want to add it. So I decided to make a library that implement some extra functionality and make it open source.
Just require('selenium-until-extra') instead of using selenium-webdriver's until. Like that:
const { Builder, By } = require('selenium-webdriver');
const until = require('selenium-until-extra');
The selenium-until-extra library exports all the Selenium until methods and adds some more:
until.urlIsNot(url)- waits for URL not to be equal tourluntil.urlNotContains(substring)- waits for URL not to containsubstringuntil.urlNotMatches(regex)- waits for URL not to matchregexuntil.titleIsNot(title)- waits for title not to be equal totitleuntil.titleNotContains(substring)- waits for title not to containsubstringuntil.titleNotMatches(regex)- waits for URL title to matchregexuntil.pageContainsText(text)- waits for page to containtextuntil.pageNotContainsText(text)- waits for page not to containtext
This list will most likely be increased in the future.
All issues and PRs are welcomed and appreciated! When submitting an issue, please provide as more details as possible, such as:
- bug details and how to reproduce it
- your OS,
nodeand library versions
When submitting the PR, please keep this in mind:
- we are using ESLint, the static code analyzer, to keep the code style consistent. Please make sure that your PR matches that code style by using
npm run lint, if it shows no errors, then everything's fine. You can also usenpm run lint:fixto auto-fix some issues. - we have an automated testing, so please make sure all the tests pass before making a PR and if you want to add some extra functions to the library, please write tests for it.
- you can be asked to refactor/improve/rebase your PR.
If you want to suggest something new, you can make an issue about that, and we'll figure that out!

