nqk 发表于 2009-9-5 21:20:26

在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:29

我感觉如果想加入节点,是否应该直接加html语句,createElement("Input")恐怕不对。
不知道lz的目的,为什么要加节点,难道要产生新页面?

nqk 发表于 2009-9-8 10:37:45

我需要在div里直接赋值, 像红框内的。

我需要在div里直接赋值, 像红框内的。

南实梦 发表于 2009-9-9 00:17:41

我在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:06

谢谢南实梦, 依据你的思路,问题解决了。 赫赫

正确的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
页: [1]
查看完整版本: 在QTP10.0中使用dom html的问题