【发布时间】:2013-12-16 15:54:18
【问题描述】:
我正在使用 Selenium webdriver 来自动化一个有很多框架的 web 应用程序。
当我在 IE 中运行我的脚本时,框架内的元素没有被识别,并且我得到一个异常“Unable to find element with link text == testing”。但这在 Chrome 和 Firefox 中完美运行。
我经历了许多相关的讨论,并尝试了以下解决方法,但它们没有帮助。
- 在切换帧前后插入了等待语句。
- 禁用 IE 的代理设置。 修改了 IE 设置以显示安全和非安全内容
- 选中 Internet 选项 -> 高级 -> IE 设置中的安全性下的“允许活动内容在我的计算机上的文件中运行”复选框。
我用过,
Selenium 网络驱动程序版本 2.35.0.0 IE版本:7 编程语言:c#
注意:
- 应用程序具有动态的帧名称和 ID,因此我使用索引来切换帧。
我尝试将在 chrome 和 IE 中打开的应用程序保存为 html 页面。当我使用浏览器打开保存的 html 页面时,
-
从 chrome 保存的那个显示了框架内的所有元素。
-
从 IE 中保存的不显示框架内的任何元素。
如果我能找到处理框架内元素的解决方案,那就太好了。
无法提供完整的html代码,但附上部分html代码的截图。
我尝试使用 Chrome 和 IE 保存完整的 html 页面。而且我确实观察到了它们的不同。
这是从 chrome 保存的 html 代码的快照。在这里,我确实看到了 "" 部门,它有框架。
这是从 IE 保存的 html 代码的快照。在这里,我没有看到“" 部门,也没有看到“”。
我怀疑这是否是问题的原因。如果我必须提供更多信息,请告诉我。
【问题讨论】:
-
感谢您的回复。我正在使用索引来定位框架并链接文本来定位框架内的元素。我能够成功切换到框架而没有任何错误消息,但是当我尝试在“SwitchTo()”语句之后单击框架内的元素时出现错误。我已经添加了 html 代码的快照。
标签: c# internet-explorer selenium frame