问题
我有一个包含表单的iframe,一旦我提交表单,iframe的内容会根据信息更改为其他内容。所以我需要验证结果中的元素/文本作为我的测试的一部分
我做了什么
我使用Switch()。Frame将数据提交给iframe,并使用“WebDriverWait”等待结果(我正在等待一个元素)
问题
提交后,新的元素无法识别,“等待元素”在超时后失败,即使结果屏幕在视觉上加载到iframe(我也尝试增加时间,但没有运气)
我做错了吗?或者任何人都可以给我建议吗?
非常感谢任何帮助
答案 0 :(得分:0)
我认为在提交之后 - 元素现在变了,元素不在iframe中。
使用:
driver.switchTo().defaultContent();
尝试识别元素。
我不太确定。但是你可以尝试一下。
答案 1 :(得分:0)
是重新加载完整表单还是只提供一些您提供的文本/信息?
答案 2 :(得分:0)
我正在研究相同的场景,这是有效的,你可以尝试:
driver.switchTo().frame(frameid);
driver.findElement(By.cssSelector("input[name=\"login\"]")).click();//whatever you want to perform in frame.
driver.switchTo().defaultContent();
Thread.sleep(3000);
driver.switchTo().frame(frameid);
driver.findElement(By.cssSelector("input[name=\"login\"]")).getText();//Whar ever you want to perform.
如果您有任何疑虑,请告诉我。 享受!