web-dev-qa-db-ja.com

セレンエレメントの誰でも見えるようになるまで待つ

特定のボタンをクリックすると、テストサイトがモーダルウィンドウを開きます。

ただし、モーダルウィンドウの開き方は異なります。modal window 1 or modal window 2

両方とも異なるタイトル、異なるオプション、異なるロケーターを持っています。モーダルwindow open Either 1 or 2

いずれかのモーダルウィンドウ(WebElement)が表示されるまで待つことは可能ですか?

WebDriverWaitメソッドで検索しましたが、すべてのメソッドは特定のWebElementが表示またはクリック可能になるまで待機します。

どちらかが表示されるまで待機するより良い方法を見つけることができません。

この状況を解決するための1つの方法を提案できますか?

6
Vanjithkumar

orexpected conditions を使用できます

WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.or(
    ExpectedConditions.visibilityOfElementLocated(By.id("id1")),
    ExpectedConditions.visibilityOfElementLocated(By.id("id2"))
));

または、cssSelectorまたは,を使用します

wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("#id1, #id2"));
9
Guy