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