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) { //〜処理 }); } });