例外を投げないfindElement@2021/6/8
findElementsだと、例外投げないですが、全部、取ってくる必要も無いな~、って考えたら、こうなりました。単に要素が見つからない時は、例外じゃなくてnullでいい、ってことです。TypeScriptで書いてます。thenでコールバック関数を2個取るっていうのが、「アレ?見慣れないなぁ。」ってなりました。ググったけど、なかなか出てこず。。
public async _findElement(xpath: string): Promise<WebElement | null> {
return await this.driver.findElement(By.xpath(xpath)).then(
(elem: WebElement) => {
// 成功時。
return elem;
},
(err: Error) => {
// 失敗時。
if (err.name === 'NoSuchElementError') {
return null;
}
throw err;
}
);
}
それだけ。
あ、そういや、Selenium 4.0.0、β4まで出てますね。
https://www.npmjs.com/package/selenium-webdriver
ぼちぼちリリースですね。リリースされたら、さっそく動かします。最近、これしかやることないので。。
では、また。
この記事が気に入ったらサポートをしてみませんか?