当前位置: 首页 > 知识库问答 >
问题:

Selenium webdriver:无法检测框架集

夏知
2023-03-14

我有一个页面,需要使用Selenium网络驱动程序自动化。

我的页面HTML(由火虫检查):

<html>
<head>....</head>
<frameset onload="DO_Box.setReadyState()" rows="*,0" frameborder="0" framespacing="0" border="0" name="frmMaster">
    <frame src="/SomeSource.jsp" marginheight="1" marginwidth="2" scrolling="no" name="frmContent">
</frameset>
</html>

在这里,我尝试了驱动程序。切换到 ()。默认内容(),然后驱动程序。切换到().frame()。尝试逐个索引,帧名称,Xpath,类名,名称找到帧,但都是徒劳的。

我的驱动程序无法找到父框架,因此无法找到其中的任何元素。请帮我解决这个问题。

共有1个答案

强德厚
2023-03-14

不需要切换到<code>框架集

driver.SwitchTo().Frame("frmContent");
// do your stuff here
..................
driver.SwitchTo().DefaultContent();

编辑:-如果frame需要时间加载,请尝试使用WebDriver等待等待直到frame存在,如下所示:-

var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));

IWebElement frame = wait.Until(ExpectedConditions.ElementExists(By.Name("frmContent")));
 driver.SwitchTo().Frame(frame);
// do your stuff here
..................
driver.SwitchTo().DefaultContent();

希望它能帮助你..:)

 类似资料:
  • 问题内容: 我遵循zentask教程并编写了一个junit测试,该测试不会从eclipse IDE运行,并给出以下异常 我阅读了一下,发现对于某些编辑buils.scala的人,在main help中添加了以下行:ebeanEnabled:= true 对我来说,它并没有关闭ide的运行方式。 有任何想法吗??? 问题答案: 有一篇有关设置单元测试以在IDE中运行的博客文章。建议将以下命令行添加到

  • 测试框架工具 Karma Intern NightWatch.js

  • 本文向大家介绍java测试框架的方法,包括了java测试框架的方法的使用技巧和注意事项,需要的朋友参考一下 项目开发过程中使用的单元测试框架有Junit、TestNG以及Mockito,Junit和TestNG使用的比较多,Mockito最近才开始使用。 TestNG与JUnit的相同点 1. 使用annotation,且大部分annotation相同。 2. 都可以进行单元测试(Unit tes

  • utest 简介 utest(unit test)是 RT-Thread 开发的单元测试框架。设计 utest 的初衷是方便 RT-Thread 开发者使用统一的框架接口编写测试程序,实现单元测试、覆盖测试以及集成测试的目的。 测试用例定义 测试用例(testcase,简称 tc)是为实现特定测试目标而执行的单个测试,是包括测试输入、执行条件、测试过程和预期结果的规范,是一个有明确的结束条件和明确

  • 概述 本节主要介绍可用于组织或企业进行应用测试的典型的测试框架。它可以被看作是包含技术和任务的一个参考框架,适用于软件开发生命周期(SDLC)的各个阶段。公司和项目团队可以使用这个模式,为自己或服务供应商开发测试框架和范围测试。这个框架不应该被看作是指令性的,但作为一个灵活的做法,可以延长和变形,以适应一个组织的发展进程和文化。 本节的目的是帮助组织或企业建立一个完整的战略测试过程,而不是帮助一些

  • New in Django 1.7. 系统检查框架是为了验证Django项目的一系列静态检查。它可以检测到普遍的问题,并且提供如何修复的提示。这个框架可以被扩展,所以你可以轻易地添加你自己的检查。 检查可以由check命令显式触发。检查会在大多数命令之前隐式触发,包括runserver 和 migrate。由于性能因素,检查不作为在部署中使用的WSGI栈的一部分运行。如果你需要在你的部署服务器上运