如何访问另一个HTML页面的DOM,在QUnit中测试DOM操作函数

3
我正在为一个JavaScript项目编写QUNIT测试用例。已经测试了返回值函数的函数。 但是,代码库中有一些访问DOM并对其进行操作的函数。我想要访问这些函数改变的HTML页面的DOM,以便我可以检查它们是否正常工作。 我尝试过使用document.urlwindow.open,但当我在那个页面上尝试执行document.getElementByTagName("script")时,它会给我返回null。这意味着我无法访问另一个页面的DOM。

两个页面同时打开?就像在两个不同的窗口或选项卡中吗? - Yuriy Galanter
1
请注意,在浏览器中,JavaScript对HTML页面的DOM操作仅在该HTML页面在浏览器窗口中打开时持续有效。我不太明白您试图实现什么。 - Paul D. Waite
@Yuriy Galanter。只要HTML不包含在我的页面中(因此不会呈现),并且我能够从我的JavaScript中访问其DOM在我的HTML页面中,任何东西都可以运行。 - Swaraj Chhatre
1
@PaulD.Waite,我正在为一个JavaScript项目编写QUNIT测试用例。目前,我已经完成了返回值和基本函数(如parseQueryParams等)的函数。但是,在代码库中有一些访问DOM并对其进行操作的函数。由于我无法访问主代码函数尝试访问的DOM,所以我该如何测试这些情况呢?这就是我想要实现的。 - Swaraj Chhatre
@MarcAudet 我想在客户端上执行此操作,因为我想使用QUnit测试JavaScript函数。您也可以建议任何服务器端过程,可以测试处理和使用DOM的函数。还有一件事,代码以任何方式都不访问数据库。没有读/写。 - Swaraj Chhatre
显示剩余2条评论
2个回答

2
一个想法是在一个 iframe 中加载另一个页面。然后可以使用 window.parent 来从 iframe 访问父页面。

谢谢@TGH。但问题是我正在使用QUNIT在我的HTML页面中编写测试用例,所以我不能从我的HTML页面中的iframe中呈现新的HTML页面,因为我的HTML页面必须显示测试结果,并且添加具有HTML src的iframe页面将没有意义,因为我只需要访问它而不是在我的DOM中显示它。谢谢。 - Swaraj Chhatre

1

嘿,回答太晚了。我已经完成了这个项目。无论如何,谢谢。 - Swaraj Chhatre
3
没问题。Stack Overflow的美妙之处在于回答永远不会太晚。别人问题的潜在答案已经在这里等待他们了。 - preynolds

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,