最初は空のiframeがあり、その後、ページでの操作の過程で要素が動的にiframeに読み込まれます。ワークフローの次のステップに進むには、これらの要素の1つにアクセスする必要があります。私は次のコードを使用します:-
driver.switchTo().frame(iframeElement);
Wait wait = new FluentWait(driver).withTimeout(30,TimeUnit.SECONDS).
pollingEvery(2,TimeUnit.SECONDS).ignoring(NoSuchElementException.class);
WebElement pluginTwitterButton = wait.until(new Function() {
public WebElement apply( WebDriver driver ) {
return driver.findElement( By.id("twitter") );
}
});
後でpluginTwitterButton.click();を実行する必要があります。
しかし、次のエラーが発生します-org.openqa.selenium.TimeoutException:xxx.xxx.TestCaseSampleReply $ 1 @ 1217e615を待機して30秒後にタイムアウトしましたビルド情報:バージョン: '2.25.0'、リビジョン: '17482'、時間: ' 2012-07-18 21:08:56'システム情報:os.name:' Linux'、os.arch:' amd64'、os.version:' 3.2.0-32-generic'、java.version:' 1.6 .0_24'原因:org.openqa.selenium.NoSuchElementException:要素が見つかりません:{"method": "id"、 "selector": "twitter"}コマンドの継続時間またはタイムアウト:30.03秒
私はfirefoxドライバー、selenium webdriver jar v.2.25.0を使用しています-firefoxdriverの実行時にクリックする必要のある要素が目に見えますが、何らかの理由でiframe変数が更新されません。ここで何が欠けていますか?