In Intern 2, simply use the normal find
command:
var remote = this.remote;
remote.get(url)
.findById('foo')
.then(function (element) {
// exists
}, function () {
// does not exist
});
In Intern 1, if you need to conditionally branch, you’ll need to stop and add new instructions based on the result of your check.
var remote = this.remote;
remote.get(url)
.elementByIdIfExists('foo')
.then(function (element) {
if (element) {
remote.clickElement()
.type('foo');
// ...etc.
}
});
This should work in Intern 1.1 only if you are adding new commands to the remote promise chain when there are no other already-existing commands pending. Intern 1.2 will contain improvements that eliminate this restriction. This is issue #14.