QTP的那些事---通过html标签的属性获取对象(类似onclick的属性)
生活随笔
收集整理的這篇文章主要介紹了
QTP的那些事---通过html标签的属性获取对象(类似onclick的属性)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
看到這個問題,有的人可能覺得就是通過DOM獲取唄。我承認確實是通過DOM獲取,唯一不同的是我通過的是html中標簽的屬性獲取的。
代碼如下:
On error resume next btv="2012-03-25" testpath="//span[@οnclick='toAddTeam(this,btv)]'" set myspan=Browser("name:=browser").Page("name:=page").Frame("mIfm-3").Object.all.tags("span") For i=0 to myspan.length-1 ' print myspan.onclick.value'myspan(i).onclick 'print myspan(i).onclickstrt="function onclick()"&chr(10)&"{"&chr(10)&"toAddTeam(this,'"&btv&"')"&chr(10)&"}"If myspan(i).οnclick=strt Thenprint "find it"myspan(i).clickExit forEnd If Next ? 注意以上的屬性比較特殊,html中該屬性的原始值為如下: 也就是此時的屬性為一個javascript的方法,一定要注意了屬性如果是方法的話,獲取到的該屬性的值需要加上如下: function onclick() { 'your codes }為了這個問題我還真的糾結了好久,現在終于解決了屬性為JS方法的一個問題,也算是對于QTP識別對象有了進一步的認識。
希望以上的解決方法可以為大家提供一個幫助。
*****************************************************************************************************
補充一下,個人通過XPATH獲取的該對象的方法,我以前說過只要能通過DOM獲取的對象都可以通過XPATH獲取,他們兩者的不同在于:
DOM是步步循環,XPATH則是一步到位,二者都可以達到相同的目的
以上的方法通過XPATH的解決方法如下:(一行代碼,確實省事不少)
?
pathstr="//span[2][@class='spright' and @οnclick="&chr(34)&"toAddTeam(this,'2012-03-30')"&chr(34)&"]" '這里一定要注意就是xpath中如果屬性中還有變量,此時的屬性需要加上雙引號的,這個問題我為此糾結了不少時間,希望大家注意 ,這里的xpath在firefox中查看的路徑為 'xpath: //span[2][@class='spright' and @οnclick="toAddTeam(this,'2012-03-12')"] print pathstr Browser("name:=browser").Page("name:=page").Frame("mIfm-3").WebElement("xpath:="&pathstr).Click以上的操作一步到位完成了獲取指定對象的操作,確實很省事,嘿嘿,要不然我想selenium也不會這么火。確實xpath省事不少! ?強烈推薦可以使用第二種方式XPATH!
本文轉自hcy's workbench博客園博客,原文鏈接:http://www.cnblogs.com/alterhu/archive/2012/03/08/2385541.html,如需轉載請自行聯系原作者。
總結
以上是生活随笔為你收集整理的QTP的那些事---通过html标签的属性获取对象(类似onclick的属性)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数字经济时代凸显网络安全重要性
- 下一篇: C++:用成员初始化列表对数据成员初始化