javaでクロムドライバとセレンを使用しています。Selenium - xPathで検索する要素が実行中に見つかりませんでしたが、ブラウザ上に見つかりました。
これは私のJavaコード上にあります。私がその特定のページの午前ながら、私が興味を持って実行されます。
driver.findElement(By.xpath("//input[@name='firstName']")).sendKeys("John");
これは、その特定のページに、ウェブサイト上にあります。
<input type="text" id="fname" name="firstName" placeholder="First Name" data-reactid="....">
問題も入力するテキストを設定に関するものではありません、それがすべてで入力フィールドを見つけられないということです。あなたは、私は20秒の暗黙の待機を持っていると私はページとフィールドがその時にロードされていることがわかりますエラーから見ることができるようにここでエラー
org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//input[@name='firstName']"}
Command duration or timeout: 20.04 seconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 16:57:40'
です。
私はchromeを開いてxPathで要素を検索し、同じ正確なコマンドでフィールドを見つけることができます(私のjavaが同じクロムウィンドウでクラッシュしたのと同じページで)。私は入力フィールド以外のすべての要素を見つけることができます。
これをトラブルシューティングする方法はありますか?入力フィールドはセレンを介してこのようにサポートされていませんか?私は何を引き受けるのかわからない、どんなアイデアも大いに感謝している!
多分あなたの入力がインラインフレームの内側にあります。要素を見つけようとする前に、このフレーム内の要素を調べるためにドライバを切り替える必要があります。 –
そうです。私はこれを行うべきであることに気づいていませんでした。にスポット!本当にありがとう! – Iordanis
時には別の軽いエラーがあります。だから私はawnserを投稿していない、あなたにフレームを確認するように頼んだだけです。さて、あなたのテストの中でiframeを管理する方法の例を投稿しました。がんばろう! –