51Testing软件测试论坛

标题: 在QTP10.0中使用dom html的问题 [打印本页]

作者: nqk    时间: 2009-9-5 21:20
标题: 在QTP10.0中使用dom html的问题
大家好,

The code:

Dim divs
Dim div
Dim input
set divs = Browser("A").Page("b").Frame("c").Object.getElementsByTagName("Div")
input = Browser("A").Page("b").Object.createElement("Input")
input.type = "radio"
For each div in divs
div.appendChild(input)
Next

QTP errors:
1, error: Type doesn't match, when running "div.appendChild(input)"


Thanks

Kate
作者: bagwell333    时间: 2009-9-7 16:43
我感觉如果想加入节点,是否应该直接加html语句,createElement("Input")恐怕不对。
不知道lz的目的,为什么要加节点,难道要产生新页面?
作者: nqk    时间: 2009-9-8 10:37
标题: 我需要在div里直接赋值, 像红框内的。
我需要在div里直接赋值, 像红框内的。
作者: 南实梦    时间: 2009-9-9 00:17
我在qtp9.2中114网页上测试了下,没有报错,
Dim divs
Dim div
Dim input
set divs = Browser("A").Page("b").Object.getElementsByTagName("Div")
set input = Browser("A").Page("b").Object.createElement("Input")'该行的set 是我加的,因为缺少对象
input.type = "radio"
For each div in divs
print div.id
div.appendChild(input)
Next

脚本运行前后的ie前台的图片对比,见附件,radio的input确实添加成功了。
作者: nqk    时间: 2009-9-9 15:09
谢谢南实梦, 依据你的思路,问题解决了。 赫赫

正确的code:

Dim divs
Dim div
Dim input
set divs = Browser("A").Page("b").Frame("c").Object.getElementsByTagName("Div")
input = Browser("A").Page("b").Frame("c").Object.createElement("Input")
input.type = "radio"
For each div in divs
div.appendChild(input)
Next




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2