我正在使用Selenium webdriver来自动化具有多个框架的Web应用程序。
当我在IE中运行我的脚本时,框架内的元素没有被识别,并且我得到一个例外“无法找到带有链接文本的元素==测试”。但这在Chrome和Firefox中完美运行。
我经历了许多相关的讨论,并尝试了以下的工作,但他们提供了帮助。
我用,
Selenium webdriver版本2.35.0.0 IE版:7 编程语言:c#
注意:
我尝试将在Chrome和IE中打开的应用程序保存为html页面。当我使用浏览器打开保存的html页面时,
从chrome保存的那个显示框架内的所有元素。
从IE保存的那个没有在框架内显示任何元素。
如果我得到一个处理框架内元素的解决方案,那就太好了。
我无法提供完整的HTML代码,但已附上了部分HTML代码的屏幕截图。
我尝试使用Chrome和IE保存完整的html页面。我确实观察到它们的不同。
这是从chrome保存的html代码的快照。在这里,我看到“< div class =”mocha “除法,它有框架。
这是从IE保存的html代码的快照。在这里,我看不到“< div class =”mocha “除以及”< iframe> “。
我怀疑,如果这可能是问题的原因。如果我必须提供更多信息,请告诉我。
答案 0 :(得分:0)
实际问题是,由于某种原因,使用Index识别帧在IE中无法正常工作。这似乎是与IE浏览器的应用程序行为相关的问题。因此,我们提出了以下解决方案来克服这个问题。
步骤: 1.获取页面中的所有帧(使用其类)作为列表。 2.遍历列表以获取数组中每个帧的名称。 3.然后使用保存在数组中的帧名称切换到相应的帧。