7

この同じ問題についてここにいくつかのクエリがあることを認識していますが、どれも私の問題に対する解決策を提供していません。

メール Web サイトのフォームに入力して、住所の詳細に基づいて郵便番号を検索する Web ドライバー テストを実行しています。最初のテキスト ボックスを見つけようとすると、次のエラーが発生し続けます。

org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"css selector","selector":"#ctl00_BodyContent_txtBuildingNumber"}

xpath と id を使用して要素を見つけようとしましたが、エラーが発生し続けます。Webdriver の実行中にこの要素が存在することがわかり、ページ上で別のテキスト要素を見つけてテキストを入力できましたが、このフィールドとフレーム内の他のフィールドでこのエラーが発生し続けます。

問題は、このフィールドが iFrame の一部であるという事実に関係していると推測しています。

テスト内で暗黙の待機を使用しましたが、成功しませんでした。それでもエラーが発生します。

4

5 に答える 5

0

xpath を確認してください。シンプルに使ってみる

 driver.switchTo().frame(1);

待機ステートメント付き。

于 2013-07-17T04:41:07.827 に答える
0

申し訳ありませんが、少し修正してください

driver.switchTo().frame(driver.findElement(By.xpath("//*[@id='page-15']/div/p/iframe")));

//*[@id='page-15']/div/p/iframeクリックしようとしていたボタンが配置されていたフレームのxpathです。(ドライバーのタイプは WebDriver 、つまり WebDriver driver です) ありがとうございます

于 2014-05-27T12:46:55.867 に答える