当前位置: 首页 > 面试题库 >

您如何使用Selenium在框架内执行javascript?

华安民
2023-03-14
问题内容

我有一个带有框架的页面(index.html):

<html>
<body>
<iframe src="otherPage.html" />
</body>
</html>

而otherPage.html具有以下内容:

<html>
<head><link src="jquery-min.js" type="text/javascript" /></head>
<body><div id="main">Contents</div></body>
</html>

我正在尝试在index.html上使用以下selenium代码:

selenium.open("index.html");
selenium.selectFrame("//iframe");
selenium.getEval("window.jQuery('div[id=main]')");

但是,这失败了。它说jQuery对象不存在。

如果我尝试像这样在otherPage上执行selenium测试:

selenium.open("otherPage.html");
selenium.getEval("window.jQuery('div[id=main]')");

一切都是笨拙的海ry。

现在,这是伪代码,如果人们希望我对其进行编译,我会这样做并将其放在github上。


问题答案:

Selenium将Window对象存储在其自己的对象中,以便可以更好地对其进行操作。一旦移动到框架,它应该是这样的。

selenium.getEval("var window = this.browserbot.getUserWindow();window.jQuery('div[id=main]')");

那应该为你工作

我有我的网站教程这种类型的情况在这里



 类似资料:
  • 问题内容: 关于如何使用Capybara / Selenium / Rspec 执行javascript测试的例子很多,您可以在其中编写如下测试: 但是,使用 minitest时, 您无法传递第二个参数来指示selenium执行测试。 有没有人对如何做到这一点有任何想法? 问题答案: 嗯,我注意到文档中有几行似乎说以上内容只能在Rspec中完成 但是,如果您使用的是 RSpec或Cucumber

  • 问题内容: 我想使用Jenkins运行用TestNG框架编写的Selenium测试。 在jenkins job(Freestyle project)中配置的命令: 注意:对于,给定目录路径 当我运行作业(选项)时,它被Selenium的create session活动打中并给出错误。 注意: 同样的命令运行 成功地 从运行时 的命令行 。 控制台输出的错误日志: (jenkins) 以下是测试课程

  • 我想使用Jenkins运行在TestNG框架中编写的Selenium测试。 jenkins作业(Freestyle项目)中配置的命令: 控制台输出的错误日志:(jenkins) 下面是测试类: 以下是: null

  • 案例目标: 本节案例主要是通过Scrapy框架使用Selenium,以PhantomJS进行演示,爬取淘宝商品信息案例,并将信息存入数据库MongoDB中。 准备工作: 请确保PhantomJS和MongoDB都已安装号,并确保可以正常运行,安装好Scrapy、Selenium和PyMongod库。 ① 创建项目 首先新建项目,名为scrapyseleniumtest: scrapy startp

  • 问题内容: 我在javascript中有一个名为“ checkdata(code)”的函数,如您所见,该函数接受一个名为“ code”的参数来运行并返回一个15个字符的字符串。 因此,我发现了(并测试了)如何在javascript中调用无参数函数,但是我的问题是,当我调用checkdata(code)时,总是得到“无”返回值。到目前为止,这是我正在做的事情: 但是,正如我之前说的,我一直都没有打印

  • 问题内容: 我需要从表“ td”中获取结果。但是在执行此操作之前,我需要浏览包含它的框架。框架是属于mainFrame的框架集元素之一。我尝试使用所有类型的导航“子”子帧,但均不起作用: 以下是该网页的简要布局: 在导航子帧之前是否需要导航框架集?我阅读了文档。所有的Internet示例都给出了一个简单的示例代码:driver.switchTo()。frame(“ mainFrame.0.chil