ローディングポップアップが表示されるまで待つ必要があるカスタムウェイトメソッドを実装したいと思います。Customwait - チェック要素がSelenium webdriverで表示/非表示になっています(要素はDOMにありますが、表示されません)
このロードポップアップには、独自のid = "wait"があります。私はそれをチェックする(StackOverflowのから)このカスタムexpectedConditionsを使用します。
public static ExpectedCondition<Boolean> absenceOfElementLocated(
final WebElement element) {
return new ExpectedCondition<Boolean>() {
@Override
public Boolean apply(WebDriver driver) {
try {
element.isDisplayed();
return false;
} catch (NoSuchElementException e) {
return true;
} catch (StaleElementReferenceException e) {
return true;
}
}
@Override
public String toString() {
return "element to not being present: " + element.getText();
}
};
}
ロードがまだ目に見えると私はなぜ知らないときに私のスクリプトのパス。
ありがとうございます!
WebDriverWaitを使用して、予想される条件が真になるまで実行を一時停止することができます。 例: WebDriverWait wait =新しいWebDriverWait(ドライバ、30000); wait.until(ExpectedConditions.visibilityOfElementLocated(By.id( "yourPopUpId"))); –
ありがとう、私はそれを試みたが動作しません。ドライバがポップアップの変更を認識できません。 – brobee
JavascriptExecutorを試して操作を実行してください – iamsankalp89