我想實現自定義等待方法,應該等到加載彈出窗口可見。Customwait - 檢查元素是可見/消失與硒webdriver(元素是在DOM中,但不可見)
此加載彈出框有它自己的id =「wait」。我用這個自定義expectedConditions(從#1),以檢查它:就當裝載仍清晰可見,我不知道爲什麼
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暫停執行,直到預期條件成立。 ex: WebDriverWait wait = new WebDriverWait(driver,30000); wait.until(ExpectedConditions.visibilityOfElementLocated(By.id(「yourPopUpId」))); –
謝謝,我試過了,但沒有奏效。驅動程序無法識別彈出窗口的更改。 – brobee
嘗試使用JavascriptExecutor並執行操作 – iamsankalp89