TRY AND ERROR

気になったこと、勉強したこと、その他雑記など色々メモしていきます。。Sometimes these posts will be written in English.,

selenium webdriverで要素存在チェック

selenium webdriverを使ってWEBサイトの要素を取得するには、
次のようなfindElenemt(s)メソッドを使い、コールバックにより取得します。

driver.findElement(wb.By.css(セレクタ)).then(function(elem) {
    //〜処理
});


ただし、WEBサイトに存在しない要素を取得しようとした場合、
NoSuchElementExceptionが発生します。

try-catchで拾おうとしましたが、うまく拾えませんでした。
(理由がわからん。。。)


とりあえずisElementPresentをかませることで要素の存在チェックができるようですが、
使い方あってるのかなあ(笑)!?

driver.isElementPresent(wb.By.css(h2.p.node)).then(function (isExist) {
    if (isExist) {
      driver.findElement(wb.By.css(セレクタ)).then(function(elem) {
            //〜処理
        });
    }
});