<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). Я могу нажать на кнопку ОК.