C# 在IE中无法访问框架内的元素,但在Chrome和FireFox中效果良好
我正在使用SeleniumWebDriver自动化一个有许多框架的web应用程序 当我在IE中运行脚本时,框架内的元素没有被识别,我得到一个异常“无法找到链接文本==testing的元素”。但这在Chrome和Firefox中非常有效 我进行了许多相关的讨论,并尝试了以下解决方法,但这些方法都没有帮助C# 在IE中无法访问框架内的元素,但在Chrome和FireFox中效果良好,c#,internet-explorer,selenium,frame,C#,Internet Explorer,Selenium,Frame,我正在使用SeleniumWebDriver自动化一个有许多框架的web应用程序 当我在IE中运行脚本时,框架内的元素没有被识别,我得到一个异常“无法找到链接文本==testing的元素”。但这在Chrome和Firefox中非常有效 我进行了许多相关的讨论,并尝试了以下解决方法,但这些方法都没有帮助 切换帧前后插入的等待语句 已禁用IE的代理设置。 修改IE设置以显示安全和非安全内容 选中“Internet选项->高级->IE设置中的安全”下的“允许活动内容在我的计算机上的文件中运行”复选框
- 切换帧前后插入的等待语句
- 已禁用IE的代理设置。 修改IE设置以显示安全和非安全内容
- 选中“Internet选项->高级->IE设置中的安全”下的“允许活动内容在我的计算机上的文件中运行”复选框
- 应用程序有动态名称和帧id,因此我使用索引来切换帧
- 从chrome保存的一个显示框架内的所有元素
- 从IE保存的一个不显示框架内的任何元素
”部分,它有一个框架
这是从IE保存的html代码的快照。在这里我没有看到“
”部分,也没有“”部分
我怀疑这是否是问题的原因。如果我必须提供更多信息,请告诉我。实际的问题是,出于某种原因,使用索引识别帧在IE中无法正常工作。这似乎是一个与IE浏览器的应用程序行为相关的问题。因此,我们提出了以下解决方案来克服这个问题 步骤: 1.获取页面中的所有帧(使用其类)作为列表。 2.遍历列表以获取数组中每个帧的名称。
3.然后使用数组中保存的帧名称切换到相应的帧。谢谢您的回复。我使用索引来定位框架,并链接文本来定位框架内的元素。我能够成功地切换到帧,没有任何错误消息,但是在“SwitchTo()”语句之后,当我尝试单击帧内的元素时,出现了一个错误。我已经添加了html代码的快照。
我怀疑这是否是问题的原因。如果我必须提供更多信息,请告诉我。实际的问题是,出于某种原因,使用索引识别帧在IE中无法正常工作。这似乎是一个与IE浏览器的应用程序行为相关的问题。因此,我们提出了以下解决方案来克服这个问题 步骤: 1.获取页面中的所有帧(使用其类)作为列表。 2.遍历列表以获取数组中每个帧的名称。
3.然后使用数组中保存的帧名称切换到相应的帧。谢谢您的回复。我使用索引来定位框架,并链接文本来定位框架内的元素。我能够成功地切换到帧,没有任何错误消息,但是在“SwitchTo()”语句之后,当我尝试单击帧内的元素时,出现了一个错误。我已经添加了html代码的快照。