使用selenium web-driver我试图将区域名称放在文本框的新弹出屏幕中,然后单击“保存”按钮。我使用下面的脚本
String mainWindowHandle1=driver.getWindowHandle();
driver.switchTo().window(mainWindowHandle1 );
driver.findElement(By.id("MainContent_imgAddRegion")).click();
Thread.sleep(5000);
java.util.Set<String> s1 = driver.getWindowHandles();
Iterator<String> ite1 = s1.iterator();
while(ite1.hasNext())
{
String popupHandle=ite1.next().toString();
if(!popupHandle.contains(mainWindowHandle1))
{
driver.switchTo().window(popupHandle).findElement(By.id("txtRegionName")).sendKeys("South Region");
Thread.sleep(3000);
driver.findElement(By.id("txtRegionName")).sendKeys("South Region");
Thread.sleep(1000);
driver.findElement(By.id("btnSave")).click();
通过这样做,我可以打开新的弹出屏幕进入该区域,但是,我无法发送密钥[区域名称]并保存文本。即使我在运行测试时没有收到任何失败的报告。
答案 0 :(得分:0)
这可能是由于iFrames的存在。 查看HTML代码并检查您尝试发送密钥的文本字段和保存按钮是否包含在某种iFrame中。 如果是这样,您将需要执行以下操作:
driver.switchTo().defaultContent();
driver.switchTo().frame("framename");
driver.findElement(By.id("txtRegionName")).sendKeys("South Region");
driver.findElement(By.id("btnSave")).click();
希望它有所帮助!