lixnyq 发表于 2010-2-5 10:41:51

请大家帮我看下代码是否正确

设置一个函数,将对象库进行参数化,然后由其他程序调用该函数,但是总提示错误。请看以下代码:
Function SelectRFQNo(link,frame)
   Dim RFQ_Number
   RFQ_Number = datatable.RawValue("RFQno",dtGlobalSheet)
   browser("OfficeMax").Page("OfficeMax_RFQ").Frame("topFrame").Link("RFQ").click
   Browser("OfficeMax").Page("OfficeMax_RFQ").Frame("topFrame").Link("text:=" &link).click
   Browser("OfficeMax").Page("OfficeMax_RFQ").Frame("title:=" &frame,"name:= mainFrame").exit
   Browser("OfficeMax").Page("OfficeMax_RFQ").Frame("title:=" &frame,"name:= mainFrame").WebEdit("sRfqNo").Set RFQ_Number
   Browser("OfficeMax").Page("OfficeMax_RFQ").Frame("title:=" &frame,"name:= mainFrame").Link("Search").Click

   If Browser("OfficeMax").Page("OfficeMax_RFQ").Frame("title:=" &frame,"name:= mainFrame").Link("text:=" & RFQ_Number).Exist(1) Then
           Browser("OfficeMax").Page("OfficeMax_RFQ").Frame("title:=" &frame,"name:= mainFrame").Link("text:=" & RFQ_Number).click
    else
    msgbox "Don't have the No. you want"
End If
End Function


请看提示信息截图
在线等答案

yujie6832 发表于 2010-2-5 10:47:44

意思是鉴别不了这个控件,很明显,你的描述性编程没有描述全面,如果LINK控件有多个关键属性需要描述,而你现在只描述了TEXT属性,那就会识别不了

鹭岛 发表于 2010-2-5 11:02:27

鉴别不了这个控件

lixnyq 发表于 2010-2-5 11:28:31

恩,上面问题是我识别对象错误。谢谢各位。
还有一个问题。frame可以进行参数化吗?还是以上代码,我将对象库中的title属性,手动进行修改了。可以这样操作吗?sRfqNo在对象库中有获取到。为什么查不到呢?
运行,提示错误。

[ 本帖最后由 lixnyq 于 2010-2-5 11:29 编辑 ]

gold_85 发表于 2010-2-5 11:59:13

w你的Frame 用描述性编程,,WebEdit不要用描述性编程吗..

我也是新人,不知道说得有没有问题

lixnyq 发表于 2010-2-5 13:42:36

回复 5# 的帖子

用描述性编程也查找不到。提示:
Cannot find the "[ WebEdit ]" object's parent "[ Frame ]" (class Frame). Verify that parent properties match an object currently displayed in your application.

Function file: C:\RFQ\SelectRFQ.vbs
Line (10): "   Browser("OfficeMax").Page("OfficeMax_RFQ").Frame("title:=" &frame,"name:= mainFrame").WebEdit("name:=sRfqNo","html tag:=INPUT").Set RFQ_Number".

onlonely 发表于 2010-2-5 13:59:05

1,Browser("OfficeMax").Page("OfficeMax_RFQ").Frame("topFrame").Link("text:=" &link).click
描述的这个对象无法正确找到唯一对象
2,Browser("OfficeMax").Page("OfficeMax_RFQ").Frame("title:=" &frame,"name:= mainFrame").WebEdit("sRfqNo").Set RFQ_Number
任何父对象使用了描述性编程,那么其子对象也必须使用描述性编程
显然你这段话梅满足这个说明

lixnyq 发表于 2010-2-5 14:02:40

回复 7# 的帖子

2。即使使用描述性编程
Browser("OfficeMax").Page("OfficeMax_RFQ").Frame("title:=" &frame,"name:= mainFrame").WebEdit("name:=sRfqNo","html tag:=INPUT").Set RFQ_Number
提示一下信息:
Cannot find the "[ WebEdit ]" object's parent "[ Frame ]" (class Frame). Verify that parent properties match an object currently displayed in your application.

Function file: C:\RFQ\SelectRFQ.vbs
Line (10): "   Browser("OfficeMax").Page("OfficeMax_RFQ").Frame("title:=" &frame,"name:= mainFrame").WebEdit("name:=sRfqNo","html tag:=INPUT").Set RFQ_Number".

请问为什么?父对象设置有问题吗?

[ 本帖最后由 lixnyq 于 2010-2-5 14:10 编辑 ]

lixnyq 发表于 2010-2-9 13:30:08

请各位帮忙解决下啊!如何识别对象库中的frame?

fqcd163 发表于 2010-2-10 10:46:58

可能是对象的属性没有唯一的识别出来此对象呀,可以在后面加INDEX尝试一下吧
页: [1]
查看完整版本: 请大家帮我看下代码是否正确