0
webdriverをセレンでダイナミックiframeのページを検索しようとID、私は仕事へのさまざまな方法を試してみました私のプロジェクトでは
ことを、我々は上をクリックするたびに変更されたのiframeがありますその上に
1) List<WebElement> frameList=driver.findElements(By.tagName("iframe"));
System.out.println(frameList.size());
for(int i =0; i<(frameList.size());i++){
driver.switchTo().frame(i);
System.out.println(i);
try{
driver.findElement(By.id("TextBox_4")).sendKeys("987654321");
System.out.println("Element found");
}
catch (NoSuchElementException e){
System.out.println("Element not found");
}
//これはiframeの要素をチェックします。
2) WebElement frame =
driver.findElement(By.xpath("//div[contains(@id,'title')]"));
driver.switchTo().frame(frame);
// XPathを使用してこの検索フレームとキーワードが含まれていますが、その示す要素が見つからない例外
3) int frameSize = driver.findElements(By.tagName("iframe")).size();
System.out.println(frameSize);
driver.switchTo().frame(2);
// I(すなわち3)フレームのサイズを印刷し、各フレーム毎の値を試してみました(すなわち、0,1,2)
上記のコードを修正してください。あなたがiframes
の数を固定している場合は ディワカ
「IFRAME」のIDの例をいくつですか?どのように変化しますか?とにかくそれにアクセスする方法があるかもしれません。 'IFRAME'はいつもHTMLの同じ場所にありますか?例えば一貫して特定できるいくつかの要素の中に? – JeffC
JeffCが言ったことに加えて、あなたのウェブページを私たちと共有してください。細部まで手伝ってもらえません。 – testerjoe2
** [frameToBeAvailableAndSwitchToIt](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/support/ui/ExpectedConditions.html#frameToBeAvailableAndSwitchToIt-org.openqa.selenium.By)を試してみてください。 - )**メソッドを使用して[Explicit wait](http://stackoverflow.com/a/14515517/4193730)を適用します。むしろあなたのために物事を簡素化します。まず、FirebugのHTMLタブでiframeを探し、iFrameのxpathを作成し、上記の方法を使用します。 – Subh