私のコードでは、「Please wait ...」が必要です。上のパネルのUIが最初に消えてブロックされているので、その特定のブロックを明示的に待ちますスパン。しかし、上記のパネルがブロックされていても、その機能はまだ保存されていますが、パネルのクリック機能は連続して開始されます。明示的な待機がSelenium Webdriverで機能しない
driver.findElement(By.id("saveHouseholdMember")).click();
WebDriverWait uiBlock = new WebDriverWait(driver, 30);
uiBlock.until(ExpectedConditions.invisibilityOfElementWithText(By.xpath("/html/body/div[2]/form[1]/div/table/tbody/tr/td/span"), "Please wait..."));
driver.findElement(By.id("disabilityFlagRadio")).click();
ここでは、保存ボタンをクリックすると、そのパネルが[Please wait ...]メッセージでブロックされます。ドライバは、「Please wait ...」というメッセージが消えるまで待つ必要があります。その場合は、以下のように記述されたクリック機能を実行する必要があります。上記パネルの保存には通常15秒かかります。
以下のリンクも参照していますが、有用な情報はありませんでした。 Wait is not working in selenium webdriver
「しばらくお待ちください...」というメッセージが表示される前にセレンが待っている可能性はありますか? – Woodham
+1、最初にパネルが表示されるのを待って、パネルが見えるようになってからパネルが消えるのを待っていることを確認してください。 – Kudin
あなたはそのパネルが表示されていることを確認している場合は、表示される次の要素を待つことができ 'WebElement要素= wait.until( ExpectedConditions.visibilityOfElementLocated(By.id( "disabilityFlagRadio")));' – Harish