<div>
<iframe id="cq-cf-frame ">
<iframe id="gen367">
<body spellcheck="false" id="CQrte" style="height: 255px; font-size: 12px; font-family:tahoma,arial,helvetica,sans-serif; background-image: url("/libs/cq/ui/widgets/themes/default/ext/form/text-bg.gif"); background-repeat: repeat-x; background-attachment: fixed;">
<p>4t43t4<br></p>
</body >
</iframe>
</iframe>
</div>
このシナリオでは、iframe
アンダーがありiframe
ます。そして、私はiframe
インナーに行くためにアウターを選択し、インナーiframe
にあるボディに書き込む必要がありiframe
ます。
次に、内側iframe
から外側に出てiframe
[OK]ボタン(外側にあります)をクリックする必要がありますiframe
。
以下は私のコードです
/*Line 1 */ driver.switchTo().frame("cq-cf-frame");
/* 2 */ driver.findElement(By.css("#extdd-9 > div.tblRow > input.edititem").click();
/* 3 */ driver.switchTo().Frame("cq-gen379");
/* 4 */ driver.findElement(By.id("CQrte").sendKeys("Tnx");
/* 5 */ selenium.selectFrame("relative=up");
/* 6 */ driver.findElement(By.xpath("//button[text()='OK']")).click();
以下は私の問題です:
私のテストコードは、行番号4まで問題なく機能しています。つまり、本体に書き込みiframe
ますが、要素//button[text()='OK']
が見つからないという内部から外部に出たいのですが。
インデックス、親、相対を使用してみましたが、うまくいきませんでした。
注:内側のフレーム(cq-gen379
)を選択しない場合。[OK]ボタンをクリックできます。
Webdriverではdriver.switchTo().defaultContent();
、フレームから抜け出すために使用する必要があります。最初にすべてのフレームから抜け出し、次に再び外側のフレームに切り替える必要があります。
// between step 4 and step 5
// remove selenium.selectFrame("relative=up");
driver.switchTo().defaultContent(); // you are now outside both frames
driver.switchTo().frame("cq-cf-frame");
// now continue step 6
driver.findElement(By.xpath("//button[text()='OK']")).click();
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加