一種web頁面元素定位的方法,裝置及系統(tǒng)的制作方法【專利摘要】本申請?zhí)峁┝艘环Nweb頁面元素定位的方法,裝置及系統(tǒng),其中,所述方法包括:獲取待測web頁面中一個或多個web頁面元素的至少兩條定位信息;在所述至少兩條定位信息中確定最優(yōu)定位信息;當采用所述最優(yōu)定位信息不能定位到所述web頁面元素,并且,存在至少一條能定位到所述web頁面元素的其它定位信息時,采用所述其它定位信息更新所述最優(yōu)定位信息。本申請用以快速定位web頁面元素,提高定位web頁面元素的執(zhí)行效率,并且能夠進行web頁面元素定位信息的自動修復,最大限度地保障web頁面元素定位信息的自適應性,有效減少web頁面元素定位信息的維護成本?!緦@f明】-種web頁面元素定位的方法,裝置及系統(tǒng)【
技術領域:
】[0001]本申請涉及互聯(lián)網(wǎng)【
技術領域:
】,特別是涉及一種web頁面元素定位的方法,一種web頁面元素定位的裝置,以及,一種web頁面元素定位的系統(tǒng)?!?br>背景技術:
】[0002]在軟件開發(fā)過程中,軟件測試是不可缺少的。軟件測試利用測試工具按照一定的測試方案和流程進行測試操作,從而達到發(fā)現(xiàn)潛伏在軟件里的缺陷,減少軟件開發(fā)和維護的成本,促進軟件質量提升的目的。軟件測試的成本占整個軟件開發(fā)過程的30%?50%,隨著軟件功能復雜度的不斷提高,相應的自動化測試技術也在不斷發(fā)展和進步。[0003]在各種類型的自動化測試中,最接近用戶需求的測試是與用戶交互相關的用戶界面(UI)的自動化測試,編寫web頁面的n自動化測試腳本,不可避免地會遇到web頁面元素識別問題,在腳本的維護過程中,因web頁面元素的屬性值變化引起的腳本失敗,也在頻繁發(fā)生,已經成為定位腳本失敗原因的一個重要因素。對于web頁面元素的定位操作不僅體現(xiàn)在業(yè)務流的操作過程上,還會在其它方面被體現(xiàn)出來,如web頁面文本元素的內容檢查、web頁面元素的屬性檢查、web頁面元素的屬性值作為變量使用、復雜的web頁面元素,如〈table〉子web頁面元素的檢查等等。由于UI的自動化測試最接近用戶需求,web頁面元素的定位信息數(shù)據(jù)的維護成本也成了UI自動化腳本維護過程中不可缺少的成本。[0004]目前web頁面元素的定位方式都是基于靜態(tài)的方式進行的,即一旦使用了某種類型的定位方式,其實際的定位信息就會確定,不能自動地檢查、修復定位信息。例如,在UI的自動化測試腳本編寫階段,會將尋找到在web頁面上可唯一識別該web頁面元素的信息記錄下來,作為該web頁面元素的定位信息,在后續(xù)測試中是UI自動化測試腳本中需主要維護的內容,若這單一的定位信息出現(xiàn)變化,就必須進行人工方式訂正,才能保證UI自動化測試腳本成功執(zhí)行。定位web頁面元素的途徑往往也是唯一的,例如若是使用id屬性來定位web頁面元素,一旦id屬性有變化,則需要人工訂正,這樣就不能夠有效并簡單地對web頁面元素進行定位。[0005]因此,本領域技術人員迫切需要解決的問題之一在于,提出一種web頁面元素定位的方法,裝置及系統(tǒng),用以快速定位web頁面元素,提高定位web頁面元素的執(zhí)行效率,并且能夠進行web頁面元素定位信息的自動修復,最大限度地保障web頁面元素定位信息的自適應性,有效減少web頁面元素定位信息的維護成本?!?br/>發(fā)明內容】[0006]本申請所要解決的技術問題是提供一種web頁面元素定位的方法,用以快速定位web頁面元素,提高定位web頁面元素的執(zhí)行效率,并且能夠進行web頁面元素定位信息的自動修復,最大限度地保障web頁面元素定位信息的自適應性,有效減少web頁面元素定位信息的維護成本。[0007]相應的,本申請還提供了一種web頁面元素定位的裝置,以及,一種web頁面元素定位的系統(tǒng),用以保證上述方法在實際中的應用。[0008]為了解決上述問題,本申請公開了一種web頁面元素定位的方法,包括:[0009]獲取待測web頁面中一個或多個web頁面元素的至少兩條定位信息;[0010]在所述至少兩條定位信息中確定最優(yōu)定位信息;[0011]當采用所述最優(yōu)定位信息不能定位到所述web頁面元素,并且,存在至少一條能定位到所述web頁面元素的其它定位信息時,采用所述其它定位信息更新所述最優(yōu)定位信肩、。[0012]優(yōu)選地,所述方法還包括:[0013]采用所述最優(yōu)定位信息進行所述web頁面元素的定位。[0014]優(yōu)選地,所述web頁面元素的定位信息包括三條,具體為:[0015]由所述web頁面元素本身的屬性組合形成的第一定位信息;[0016]由所述web頁面元素的父類元素的屬性組合和所述web頁面元素在其父類元素中的相對位置形成的第二定位信息;[0017]以及,由所述web頁面元素的XPATH路徑形成的第三定位信息。[0018]優(yōu)選地,所述獲取待測web頁面中一個或多個web頁面元素的至少兩條定位信息的步驟包括:[0019]子步驟S1,針對待測web頁面中的一個或多個web頁面元素,分別獲取其對應的屬性信息;[0020]子步驟S2,判斷是否存在可以唯一定位到對應web頁面元素的屬性信息;若是,則執(zhí)行子步驟S3;若否,則執(zhí)行子步驟S4;[0021]子步驟S3,記錄所述屬性信息形成所述web頁面元素本身的屬性組合;[0022]子步驟S4,獲取當前web頁面元素的父類元素的屬性信息;[0023]子步驟S5,判斷是否存在可以唯一定位到所述父類元素的屬性信息;若是,執(zhí)行子步驟S6;若否,則將所述父類元素作為當前web頁面元素返回子步驟S4;[0024]子步驟S6,記錄所述父類元素的屬性信息形成所述web頁面元素的父類元素的屬性組合,以及,獲取所述web頁面元素在其父類元素中的相對位置;[0025]子步驟S7,針對待測web頁面中的一個或多個web頁面元素,分別采用XPATH路徑定位引擎生成所述web頁面元素的XPATH路徑。[0026]優(yōu)選地,所述子步驟S2進一步包括:[0027]當次遍歷步驟,采用當次屬性信息組合,遍歷待測web頁面的web頁面元素集合,獲得所定位到的web頁面元素的當次集合及當次數(shù)量;[0028]下一次遍歷步驟,采用下一次屬性信息組合,對所述當次遍歷步驟得到的當次集合進行遍歷,獲得所定位到的web頁面元素的下一次集合及下一次數(shù)量;其中,下一次屬性信息組合包括了當次屬性信息組合中的信息以及新增的一個屬性信息;[0029]判斷步驟,判斷所述下一次數(shù)量是否小于或等于當次數(shù)量,并且,所述下一次數(shù)量是否為1;若是,則執(zhí)行成功判定步驟;若否,則執(zhí)行屬性信息轉換步驟;[0030]成功判定步驟,將所述下一次屬性信息組合,判定為可以唯一定位到對應web頁面元素的屬性信息;[0031]屬性組合轉換步驟,將所述下一次屬性信息組合作為當次屬性信息組合,下一次集合作為當次集合,下一次數(shù)量作為當次數(shù)量,重新執(zhí)行所述下一次遍歷步驟。[0032]優(yōu)選地,在子步驟S2之前,還包括:[0033]子步驟S11,從所述web頁面元素的一個或多個屬性信息中,過濾掉屬性值為空的屬性信息。[0034]優(yōu)選地,所述子步驟S5進一步包括:[0035]父類當次遍歷步驟,采用當次父類元素的屬性信息組合,遍歷待測web頁面的web頁面元素的父類元素集合,獲得所定位到的web頁面元素的父類元素的當次集合及當次數(shù)量;[0036]父類下一次遍歷步驟,采用下一次父類元素的屬性信息組合,對所述父類當次遍歷步驟得到的父類元素的當次集合進行遍歷,獲得所定位到的web頁面元素的父類元素的下一次集合及下一次數(shù)量;其中,下一次父類元素的屬性信息組合包括了當次父類元素的屬性信息組合中的信息以及新增的一個父類元素的屬性信息;[0037]父類判斷步驟,判斷所述下一次數(shù)量是否小于或等于當次數(shù)量,并且,所述下一次數(shù)量是否為1;若是,則執(zhí)行父類成功判定步驟;若否,則執(zhí)行父類屬性信息轉換步驟;[0038]父類成功判定步驟,將所述下一次父類元素的屬性信息組合,判定為可以唯一定位到對應web頁面元素的父類元素的屬性信息;[0039]父類屬性組合轉換步驟,將所述下一次父類元素的屬性信息組合作為當次父類元素的屬性信息組合,下一次集合作為當次集合,下一次數(shù)量作為當次數(shù)量,重新執(zhí)行父類下一次遍歷步驟。[0040]優(yōu)選地,所述在至少兩條web頁面元素的定位信息中確定最優(yōu)定位信息的步驟包括:[0041]統(tǒng)計采用所述第一定位信息對所述待測web頁面進行web頁面元素定位所耗費的時間為第一處理時間;[0042]統(tǒng)計采用所述第二定位信息對所述待測web頁面進行web頁面元素定位所耗費的時間為第二處理時間;[0043]統(tǒng)計采用所述第三定位信息對所述待測web頁面進行web頁面元素定位所耗費的時間為第三處理時間;[0044]將所述第一處理時間,第二處理時間和第三處理時間進行逆序排序,提取排序最前的處理時間所對應的定位信息作為最優(yōu)定位信息。[0045]優(yōu)選地,當所述最優(yōu)定位信息為第一定位信息時,所述采用最優(yōu)定位信息進行web頁面元素的定位的步驟包括:[0046]定位當次遍歷步驟,采用當次屬性信息組合,遍歷待測web頁面的web頁面元素集合,獲得所定位到的web頁面元素的當次集合及當次數(shù)量;[0047]定位下一次遍歷步驟,采用下一次屬性信息組合,對所述定位當次遍歷步驟得到的當次集合進行遍歷,獲得所定位到的web頁面元素的下一次集合及下一次數(shù)量;其中,下一次屬性信息組合包括了當次屬性信息組合中的信息以及新增的一個屬性信息;[0048]定位判斷步驟,判斷所述下一次數(shù)量是否小于或等于當次數(shù)量,并且,所述下一次數(shù)量是否為1;若是,則執(zhí)行定位成功判定步驟;若否,則執(zhí)行定位屬性組合轉換步驟;[0049]定位成功判定步驟,判定采用所述最優(yōu)定位信息定位到所述web頁面元素;[0050]定位屬性組合轉換步驟,將所述下一次屬性信息組合作為當次屬性信息組合,下一次集合作為當次集合,下一次數(shù)量作為當次數(shù)量,重新執(zhí)行定位下一次遍歷步驟。[0051]優(yōu)選地,當所述最優(yōu)定位信息為第二定位信息時,所述采用最優(yōu)定位信息進行web頁面元素的定位的步驟包括:[0052]父類定位當次遍歷步驟,采用當次父類元素的屬性信息組合,遍歷待測web頁面的web頁面元素的父類元素集合,獲得所定位到的web頁面元素的父類元素的當次集合及當次數(shù)量;[0053]父類定位下一次遍歷步驟,采用下一次父類元素的屬性信息組合,對所述父類定位當次遍歷步驟得到的父類元素的當次集合進行遍歷,獲得所定位到的web頁面元素的父類元素的下一次集合及下一次數(shù)量;其中,父類元素的下一次屬性信息組合包括了父類元素的當次屬性信息組合中的信息以及新增的一個父類元素的屬性信息;[0054]父類定位判斷步驟,判斷所述下一次數(shù)量是否小于或等于當次數(shù)量,并且,所述下一次數(shù)量是否為1;若是,則執(zhí)行父類定位成功判定步驟;若否,則執(zhí)行父類定位屬性信息轉換步驟;[0055]父類定位成功判定步驟,將所述下一次父類元素的屬性信息組合,判定為可以唯一定位到對應web頁面元素的父類元素的屬性信息,并轉至相對位置定位步驟;[0056]父類定位屬性組合轉換步驟,將所述下一次父類元素的屬性信息組合作為當次父類元素的屬性信息組合,下一次集合作為當次集合,下一次數(shù)量作為當次數(shù)量,重新執(zhí)行所述父類定位下一次遍歷步驟;[0057]相對位置定位步驟,在依據(jù)所述web頁面元素在其父類元素范圍內的相對位置定位到所述web頁面元素,則判定采用所述最優(yōu)定位信息定位到所述web頁面元素。[0058]優(yōu)選地,所述采用其它定位信息更新所述最優(yōu)定位信息的步驟包括:[0059]采用所述其它定位信息作為所述最優(yōu)定位信息;[0060]或者,[0061]采用所述其它定位信息修復所述最優(yōu)定位信息。[0062]本申請還公開了一種web頁面元素定位的裝置,包括:[0063]定位信息獲取模塊,用于獲取待測web頁面中一個或多個web頁面元素至少兩條的定位信息;[0064]最優(yōu)定位信息選取模塊,用于在所述至少兩條定位信息中確定最優(yōu)定位信息;[0065]最優(yōu)定位信息更新模塊,用于當采用所述最優(yōu)定位信息不能定位到所述web頁面元素,并且,存在至少一條能定位到所述web頁面元素的其它定位信息時,采用所述其它定位信息更新所述最優(yōu)定位信息。[0066]優(yōu)選地,所述裝置還包括:[0067]web頁面元素定位模塊,用于采用所述最優(yōu)定位信息進行所述web頁面元素的定位。[0068]優(yōu)選地,所述web頁面元素的定位信息包括三條,具體為:[0069]由所述web頁面元素本身的屬性組合形成的第一定位信息;[0070]由所述web頁面元素的父類元素的屬性組合和所述web頁面元素在其父類元素中的相對位置形成的第二定位信息;[0071]以及,由所述web頁面元素的XPATH路徑形成的第三定位信息。[0072]優(yōu)選地,所述定位信息獲取模塊包括:[0073]屬性信息獲取子模塊,用于針對待測web頁面中的一個或多個web頁面元素,分別獲取其對應的屬性信息;[0074]定位判斷子模塊,用于判斷是否存在可以唯一定位到對應web頁面元素的屬性信息;若是,則調用屬性信息記錄子模塊;若否,則調用父類元素獲取子模塊;[0075]屬性信息記錄子模塊,用于記錄所述屬性信息形成所述web頁面元素本身的屬性組合;[0076]父類元素獲取子模塊,用于獲取當前web頁面元素的父類元素的屬性信息;[0077]父類定位判斷子模塊,用于判斷是否存在可以唯一定位到所述父類元素的屬性信息;若是,調用父類屬性信息記錄子模塊;若否,則將所述父類元素作為當前web頁面元素,并調用返回父類元素獲取子模塊;[0078]父類屬性信息記錄子模塊,用于記錄所述父類元素的屬性信息形成所述web頁面元素的父類元素的屬性組合,以及,獲取所述web頁面元素在其父類元素中的相對位置;[0079]路徑生成子模塊,用于針對待測web頁面中的一個或多個web頁面元素,分別采用XPATH路徑定位引擎生成所述web頁面元素的XPATH路徑。[0080]優(yōu)選地,所述定位判斷子模塊包括:[0081]當次遍歷單元,用于采用當次屬性信息組合,遍歷待測web頁面的web頁面元素集合,獲得所定位到的web頁面元素的當次集合及當次數(shù)量;[0082]下一次遍歷單元,用于采用下一次屬性信息組合,對所述當次遍歷單元得到的當次集合進行遍歷,獲得所定位到的web頁面元素的下一次集合及下一次數(shù)量;其中,下一次屬性信息組合包括了當次屬性信息組合中的信息以及新增的一個屬性信息;[0083]判斷單元,用于判斷所述下一次數(shù)量是否小于或等于當次數(shù)量,并且,所述下一次數(shù)量是否為1;若是,則調用成功判定單元;若否,則調用屬性信息轉換單元;[0084]成功判定單元,用于將所述下一次屬性信息組合,判定為可以唯一定位到對應web頁面元素的屬性信息;[0085]屬性組合轉換單元,用于將所述下一次屬性信息組合作為當次屬性信息組合,下一次集合作為當次集合,下一次數(shù)量作為當次數(shù)量,重新執(zhí)行下一次遍歷步驟。[0086]優(yōu)選地,所述裝置還包括:[0087]屬性信息過濾子模塊,用于從所述web頁面元素的一個或多個屬性信息中,過濾掉屬性值為空的屬性信息。[0088]優(yōu)選地,所述父類定位判斷子模塊包括:[0089]父類當次遍歷單元,用于采用當次父類元素的屬性信息組合,遍歷待測web頁面的web頁面元素的父類元素集合,獲得所定位到的web頁面元素的父類元素的當次集合及當次數(shù)量;[0090]父類下一次遍歷單元,用于采用下一次父類元素的屬性信息組合,對所述父類當次遍歷單元得到的父類元素的當次集合進行遍歷,獲得所定位到的web頁面元素的父類元素的下一次集合及下一次數(shù)量;其中,下一次父類元素的屬性信息組合包括了當次父類元素的屬性信息組合中的信息以及新增的一個父類元素的屬性信息;[0091]父類判斷單元,用于判斷所述下一次數(shù)量是否小于或等于當次數(shù)量,并且,所述下一次數(shù)量是否為1;若是,則調用父類成功判定單元;若否,則調用父類屬性信息轉換單元;[0092]父類成功判定單元,用于將所述下一次父類元素的屬性信息組合,判定為可以唯一定位到對應web頁面元素的父類元素的屬性信息;[0093]父類屬性組合轉換單元,用于將所述下一次父類元素的屬性信息組合作為當次父類元素的屬性信息組合,下一次集合作為當次集合,下一次數(shù)量作為當次數(shù)量,重新調用父類下一次遍歷單元。[0094]優(yōu)選地,所述最優(yōu)定位信息選取模塊包括:[0095]第一統(tǒng)計子模塊,用于統(tǒng)計采用所述第一定位信息對所述待測web頁面進行web頁面元素定位所耗費的時間為第一處理時間;[0096]第二統(tǒng)計子模塊,用于統(tǒng)計采用所述第二定位信息對所述待測web頁面進行web頁面元素定位所耗費的時間為第二處理時間;[0097]第三統(tǒng)計子模塊,用于統(tǒng)計采用所述第三定位信息對所述待測web頁面進行web頁面元素定位所耗費的時間為第三處理時間;[0098]排序選取子模塊,用于將所述第一處理時間,第二處理時間和第三處理時間進行逆序排序,提取排序最前的處理時間所對應的定位信息作為最優(yōu)定位信息。[0099]優(yōu)選地,所述web頁面元素定位模塊包括:[0100]定位當次遍歷子模塊,用于采用當次屬性信息組合,遍歷待測web頁面的web頁面元素集合,獲得所定位到的web頁面元素的當次集合及當次數(shù)量;[0101]定位下一次遍歷子模塊,用于采用下一次屬性信息組合,對所述當次遍歷子模塊得到的當次集合進行遍歷,獲得所定位到的web頁面元素的下一次集合及下一次數(shù)量;其中,下一次屬性信息組合包括了當次屬性信息組合中的信息以及新增的一個屬性信息;[0102]定位判斷子模塊,用于判斷所述下一次數(shù)量是否小于或等于當次數(shù)量,并且,所述下一次數(shù)量是否為1;若是,則執(zhí)行定位成功判定子模塊;若否,則執(zhí)行定位屬性組合轉換子模塊;[0103]定位成功判定子模塊,用于判定采用所述最優(yōu)定位信息定位到所述web頁面元素;[0104]定位屬性組合轉換子模塊,用于將所述下一次屬性信息組合作為當次屬性信息組合,下一次集合作為當次集合,下一次數(shù)量作為當次數(shù)量,重新調用下一次遍歷子模塊。[0105]優(yōu)選地,所述web頁面元素定位模塊包括:[0106]父類定位當次遍歷子模塊,用于采用當次父類元素的屬性信息組合,遍歷待測web頁面的web頁面元素的父類元素集合,獲得所定位到的web頁面元素的父類元素的當次集合及當次數(shù)量;[0107]父類定位下一次遍歷子模塊,用于采用下一次父類元素的屬性信息組合,對所述父類定位當次遍歷子模塊得到的父類元素的當次集合進行遍歷,獲得所定位到的web頁面元素的父類元素的下一次集合及下一次數(shù)量;其中,父類元素的下一次屬性信息組合包括了父類元素的當次屬性信息組合中的信息以及新增的一個父類元素的屬性信息;[0108]父類定位判斷子模塊,用于判斷所述下一次數(shù)量是否小于或等于當次數(shù)量,并且,所述下一次數(shù)量是否為1;若是,則調用父類定位成功判定子模塊;若否,則調用父類定位屬性信息轉換子模塊;[0109]父類定位成功判定子模塊,用于將所述下一次父類元素的屬性信息組合,判定為可以唯一定位到對應web頁面元素的父類元素的屬性信息,并轉至相對位置定位子模塊;[0110]父類定位屬性組合轉換子模塊,用于將所述下一次父類元素的屬性信息組合作為父類元素的當次屬性信息組合,下一次集合作為當次集合,下一次數(shù)量作為當次數(shù)量,重新執(zhí)行父類下一次調用子模塊;[0111]相對位置定位子模塊,用于在依據(jù)所述web頁面元素在其父類元素范圍內的相對位置定位到所述web頁面元素時,則判定采用所述最優(yōu)定位信息定位到所述web頁面元素。[0112]優(yōu)選地,所述最優(yōu)定位信息更新模塊包括:[0113]最優(yōu)定位信息替換模塊,用于采用所述其它定位信息作為所述最優(yōu)定位信息;[0114]最優(yōu)定位信息修復模塊,用于采用所述其它定位信息修復所述最優(yōu)定位信息。[0115]本申請還公開了一種web頁面元素定位的系統(tǒng),包括:[0116]信息提取裝置,用于獲取待測web頁面中一個或多個web頁面元素的至少兩條定位信息,并在所述至少兩條定位信息中確定最優(yōu)定位信息;[0117]定位引擎裝置,用于采用所述至少兩條定位信息進行web頁面元素的定位;[0118]反饋裝置,用于在采用所述最優(yōu)定位信息不能定位到所述web頁面元素,并且,存在至少一條能定位到所述web頁面元素的其它定位信息時,采用所述其它定位信息更新所述最優(yōu)定位信息。[0119]與現(xiàn)有技術相比,本申請包括以下優(yōu)點:[0120]本申請實現(xiàn)了web頁面元素定位信息一次創(chuàng)建,通過獲取待測web頁面的至少兩條web頁面元素的定位信息,解決了定位信息單一的問題。本申請從獲取的至少兩條web頁面元素的定位信息中可以確定最優(yōu)定位信息,由此確定在執(zhí)行web頁面元素的定位時的可以直接選用最優(yōu)定位信息,提高定位時的執(zhí)行效率。另外,本申請還可以在采用最優(yōu)定位信息不能定位到web頁面元素時,可以采用其它仍可定位到web頁面元素的定位信息對最優(yōu)定位信息進行更新,這樣在自動化測試腳本維護上,能夠避免web頁面元素定位信息的維護成本,減少因web頁面元素定位失敗導致的腳本執(zhí)行失敗,實現(xiàn)定位信息的自動修復,最大限度地保障web頁面元素定位信息的自適應能力。[0121]本申請在執(zhí)行web頁面元素的定位時,實現(xiàn)了web頁面元素的多途徑定位,解決了定位途徑單一的問題,實現(xiàn)定位信息的多元化。在當前使用的定位信息定位web頁面元素失敗時,可以選用其他定位信息對web頁面元素進行定位,以此保障定位的執(zhí)行效率,并大幅度提高了在腳本執(zhí)行的響應效率和測試腳本執(zhí)行的穩(wěn)定性。[0122]本申請通過定位途徑的優(yōu)先級來保障定位web頁面元素執(zhí)行過程的中效率最優(yōu)化,對于獲取的至少兩條web頁面元素的定位信息,統(tǒng)計不同的定位信息對web頁面元素進行定位時所耗費的時間,按照耗費的時間進行逆序排序,將排序在最前的耗費的時間所對應的定位信息,即進行web頁面元素定位時耗費時間最短的定位信息作為最優(yōu)定位信息,由于采用最優(yōu)定位信息定位web頁面元素耗費的時間短,因此可快速定位web頁面元素,提高定位web頁面元素的執(zhí)行效率。【專利附圖】【附圖說明】[0123]圖1是本申請的一種web頁面元素定位的方法實施例1的步驟流程圖;[0124]圖2是本申請的一種web頁面元素(element)多維度定位信息的示意圖;[0125]圖3是本申請的一種web頁面元素多維度定位信息處理流程圖;[0126]圖4是本申請的一種web頁面元素的屬性信息的處理流程圖;[0127]圖5是本申請的一種web頁面元素的屬性信息判定流程圖;[0128]圖6是本申請的一種web頁面元素的父類元素的屬性信息的處理流程圖;[0129]圖7是本申請的一種web頁面元素的父類元素的屬性信息判定流程圖;[0130]圖8是本申請的一種web頁面元素定位的方法實施例2的步驟流程圖;[0131]圖9是本申請的一種web頁面元素定位的裝置實施例的結構框圖;[0132]圖10是本申請的一種web頁面元素定位信息系統(tǒng)的總體結構圖?!揪唧w實施方式】[0133]為使本申請的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖和具體實施方式對本申請作進一步詳細的說明。[0134]本申請實施例的核心構思之一在于,通過記錄待測web頁面的帶優(yōu)先級的多維度定位信息,確定優(yōu)先級最高的定位信息,并自動對最優(yōu)定位信息進行修復,為優(yōu)先級最高的定位信息提供了準確性保障,由此在整體上最大限度的保障web頁面元素定位信息的自適應性,最大限度的減少web頁面元素定位信息的維護成本。[0135]參照圖1,示出了本申請一種web頁面元素定位的方法實施例1的步驟流程圖,所述方法具體可以包括如下步驟:[0136]步驟101,獲取待測web頁面中一個或多個web頁面元素的至少兩條定位信息;[0137]作為本申請實施例具體應用的一種示例,可以參照圖2所示的本申請的一種web頁面元素(element)多維度定位信息的示意圖,所述步驟101中的web頁面元素的定位信息可以包括三條,具體可以為:[0138]R1:由所述web頁面元素本身的屬性組合形成的第一定位信息;[0139]R2:由所述web頁面元素的父類元素的屬性組合和所述web頁面元素在其父類元素中的相對位置形成的第二定位信息;[0140]R3:由所述web頁面元素的XPATH路徑形成的第三定位信息。[0141]參考圖3所示的本申請的一種web頁面元素的多維度定位信息處理流程圖,在本申請的一種優(yōu)選實施例中,所述步驟101可以包括如下子步驟:[0142]子步驟S1,針對待測web頁面中的一個或多個web頁面元素,分別獲取其對應的屬性信息;[0143]例如,待測web頁面中包括有30個控件(控件即為web頁面元素中的一種),可以獲取某個web頁面元素對應的屬性信息〃tagName〃:〃INPUT",〃name〃:〃user〃,type:text,value:〇[0144]優(yōu)選的是,所述屬性信息可以包括屬性名稱及對應的屬性值,在判斷是否存在可以唯一定位到對應web頁面元素的屬性信息的子步驟之前,即子步驟S2之前,還可以包括:[0145]子步驟S11,從所述web頁面元素對應的屬性信息中,過濾掉屬性值為空的屬性信肩、。[0146]假設存在如下幾個屬性名稱:tagName,nodeName,src,title,并且對應的屬性值為:[0147]"tagName":"A"[0148]"nodeName":"B"[0149]〃src":"/xxx/yy.html"[0150]"title":""[0151]由于屬性值為空的屬性名稱對于web頁面元素的定位不做貢獻,故對于屬性值為空的屬性信息可以過濾掉,例如,"title":由于其屬性值為〃",是一個空值,故將其過濾掉。[0152]子步驟S2,判斷是否存在可以唯一定位到對應web頁面元素的屬性信息;若是,則執(zhí)行子步驟S3;若否,則執(zhí)行子步驟S4;[0153]子步驟S3,記錄所述屬性信息形成所述web頁面元素本身的屬性組合;[0154]例如,假設某個web頁面元素對應的屬性信息〃tagName":"INPUT","name":"user","type":"text",可以唯一定位到對應web頁面元素的屬性信息,則記錄上述屬性信息,形成所述web頁面元素本身的屬性組合{"tagName〃:〃INPUT","name":"user","type":"text",},作為第一定位信息Rl。[0155]子步驟S4,獲取當前web頁面元素的父類元素的屬性信息;[0156]子步驟S5,判斷是否存在可以唯一定位到所述父類元素的屬性信息;若是,執(zhí)行子步驟S6;若否,則將所述父類元素作為當前web頁面元素返回子步驟S4;[0157]子步驟S6,記錄所述父類元素的屬性信息形成所述web頁面元素的父類元素的屬性組合,以及,獲取所述web頁面元素在其父類元素中的相對位置;[0158]在本申請實施例中,獲取web頁面元素的父類元素的屬性組合的步驟與獲取web頁面元素屬性組合的步驟相同。[0159]假設獲取web頁面元素的父類元素的屬性組合為{〃tagName〃:〃f〇rm〃,〃indeX〃:〃l〃},若web頁面元素排在其父類元素的第一位,那么可以記錄相對位置信息為"index":〃1〃,將上述的父類元素的屬性組合及相對位置信息記錄形成{parent:{"tagName":"form""index":"1"}"tagName":"INPUT",''index":"1"},作為第二定位信息R2[0160]另外,若不可以唯一定位到所述web頁面元素的父類元素,還可以將所述父類元素作為當前web頁面元素,獲取所述當前web頁面元素的父類元素,重新執(zhí)行獲取對應的父類元素的屬性信息的子步驟S4。[0161]子步驟S7,針對待測web頁面中的一個或多個web頁面元素,分別采用XPATH路徑定位引擎生成所述web頁面元素的XPATH路徑。[0162]在實際運用中,并不限定子步驟S7的執(zhí)行順序,例如,子步驟S7可以在執(zhí)行子步驟S1之前,或者,在完成所有子步驟之后,或者,也可以與其他子步驟同時執(zhí)行,本申請實施例對此不做限制。[0163]針對web頁面元素,還可以分別采用XPATH路徑定位引擎生成所述web頁面元素的XPATH路徑,例如/html/body/form/input[@name="user"],作為第三定位信息R3。[0164]作為本申請實施例具體應用的一種示例,可以進一步采用如下子步驟判斷是否存在可以唯一定位到對應web頁面元素的屬性信息,即所述子步驟S2,可以參照圖4所示的本申請一種web頁面元素的屬性信息的處理流程圖,具體子步驟如下所示:[0165]當次遍歷步驟S21:采用當次屬性信息組合,遍歷待測web頁面的web頁面元素集合,獲得所定位到的web頁面元素的當次集合及當次數(shù)量;[0166]下一次遍歷步驟S22:采用下一次屬性信息組合,對所述當次遍歷步驟得到的當次集合進行遍歷,獲得所定位到的web頁面元素的下一次集合及下一次數(shù)量;其中,下一次屬性信息組合包括了當次屬性信息組合中的信息以及新增的一個屬性信息;[0167]判斷步驟S23,判斷所述下一次數(shù)量是否小于或等于當次數(shù)量,并且,所述下一次數(shù)量是否為1;若是,則執(zhí)行成功判定步驟S24;若否,則執(zhí)行屬性信息轉換步驟S25;[0168]成功判定步驟S24,將所述下一次屬性信息組合,判定為可以唯一定位到對應web頁面元素的屬性信息;[0169]屬性組合轉換步驟S25,將所述下一次屬性信息組合作為當次屬性信息組合,下一次集合作為當次集合,下一次數(shù)量作為當次數(shù)量,重新執(zhí)行下一次遍歷步驟S22。[0170]在本發(fā)明實施例中,假設存在web頁面元素的屬性信息〃tagName〃:〃INPUT","name〃:〃user","type〃:〃text","value〃:〃1〃,若采用當次屬性信息組合tagName〃:〃INPUT〃遍歷待測web頁面的web頁面元素集合,獲得所定位到的web頁面元素的當次集合及當次數(shù)量5,采用下一次屬性信息組合tagName〃:〃INPUT〃,〃name〃:〃user〃遍歷當次集合,獲得下一次集合及下一次數(shù)量4,由于下一次數(shù)量4小于當次數(shù)量5,故將所述下一次屬性信息組合作為當次屬性信息組合,將下一次集合作為當次集合,下一次數(shù)量4作為當次數(shù)量4,重新執(zhí)行下一次遍歷步驟,那么,下一次屬性信息組合則為tagName〃:〃INPUT","name〃:〃user","type〃:〃text〃,采用所述下一次屬性信息組合tagName〃:〃INPUT",〃name〃:〃user〃,〃type〃:〃text〃遍歷當次集合,獲得所定位到的web頁面元素的下一次集合及下一次數(shù)量1。由于下一次數(shù)量1小于當次數(shù)量4,并且,下一次數(shù)量為1,則將下一次屬性信息組合tagName〃:〃INPUT","name〃:〃user","type〃:〃text〃,判定為可以唯一定位到對應web頁面元素的屬性信息。[0171]若在下一次數(shù)量為1時,還存在其他的屬性信息,那么還可以繼續(xù)增加其他屬性信息繼續(xù)遍歷待測web頁面的web頁面元素集合,并將得到的下一次數(shù)量仍然為1的屬性信息作為定位信息采用,形成web頁面元素本身的屬性組合,作為第一定位信息R1,以此提高獲取的web頁面元素定位信息的準確度。[0172]需要說明的是,只有在下一次數(shù)量和當次數(shù)量相等并等于1時,此時才能正確定位到web頁面元素;若只有第一次獲得的當次數(shù)量為1,其它多次計算的定位到的web頁面元素的數(shù)量都為〇時,表示待測web頁面只有一個web頁面元素和要找的web頁面元素在第一次采用的屬性信息組合的屬性信息上值相同,故匹配度不高,不符合查找web頁面元素的條件;若第一次獲得的當次數(shù)量為〇,則定位web頁面元素失敗,表示該待測web頁面定位不到要找的web頁面元素;若第一次獲得的當次數(shù)量大于1,但是后續(xù)多次計算的數(shù)量也都不存在為1情況,則表示此時定位web頁面元素失敗,為了節(jié)省資源,可以停止對web頁面元素的獲取第一定位信息R1的操作。[0173]以下采用一種優(yōu)選示例對本申請中判斷是否存在可以唯一定位到對應web頁面元素的屬性信息的步驟進行說明,參照圖5所示的本申請的一種web頁面元素的屬性信息判定流程圖,具體步驟如下所示:[0174]子步驟SS21,采用第一屬性信息組合遍歷待測web頁面的web頁面元素集合,獲得所定位到的web頁面元素的第一集合及第一數(shù)量;其中,所述第一屬性信息組合包括第一屬性信息;[0175]在具體實現(xiàn)中,屬性信息可以包括屬性名稱及對應的屬性值,所述第一屬性信息的第一屬性名稱可以為指定的屬性名稱,作為一種示例,所述指定的屬性名稱可以符合HTML協(xié)議規(guī)定的非空值的屬性名稱,如tagName和nodeName等,當然,采用其它的指定屬性名稱也可,本申請對此不作限制。[0176]子步驟SS22,采用第二屬性信息組合遍歷第一集合,獲得第二集合及第二數(shù)量;[0177]其中,所述第二屬性信息組合包括所述第一屬性信息,以及,第二屬性信息;[0178]子步驟SS23,判斷所述第一數(shù)量是否大于或等于第二數(shù)量,若是,則執(zhí)行子步驟SS24,若否,則執(zhí)行子步驟SS26;[0179]子步驟SS24,判斷所述第二數(shù)量是否為1;若是,則執(zhí)行子步驟S210,若否,則執(zhí)行子步驟SS25;[0180]子步驟SS25,采用第三屬性信息組合遍歷第二集合,獲得當前定位到的web頁面元素的數(shù)量為第三數(shù)量;[0181]其中,所述第三屬性信息包括所述第一屬性信息,第二屬性信息,以及,第三屬性信息;[0182]子步驟SS26,采用第三屬性信息組合遍歷第一集合,獲得當前定位到的web頁面元素的數(shù)量為第三數(shù)量;轉至子步驟SS27;[0183]子步驟SS27,判斷是否存在其它屬性信息,若是,則執(zhí)行子步驟SS28,否則,執(zhí)行子步驟SS29;[0184]子步驟SS28,將所述第三屬性信息組合作為第一屬性信息組合,并且,在所述第三屬性信息組合中新增一個所述其它屬性信息作為第二屬性信息組合后,返回所述子步驟SS22;[0185]子步驟SS29,在所述第三數(shù)量為1,且第二數(shù)量大于或等于第三數(shù)量時,將所述第三屬性信息組合,判定為可以唯一定位到對應web頁面元素的屬性信息;否則判定為不能唯一定位到對應web頁面元素;[0186]子步驟SS210,將所述第二屬性信息組合,判定為可以唯一定位到對應web頁面元素的屬性信息。[0187]假設存在web頁面元素的屬性信息〃tagName〃:〃INPUT",〃name〃:〃user〃,"type〃:〃text","value〃:〃1〃,若采用第一屬性信息組合tagName〃:〃INPUT〃遍歷待測web頁面的web頁面元素集合,獲得第一集合及第一數(shù)量5,采用第二屬性信息組合tagName〃:〃INPUT","name〃:〃user〃遍歷第一集合,獲得第二集合及第二數(shù)量4,由于第一數(shù)量5大于第二數(shù)量4,故繼續(xù)采用第三屬性信息tagName〃:〃INPUT","name〃:〃user",〃type〃:"text"遍歷第二集合。若web頁面元素的其它屬性信息"value":〃1〃,則將所述第三屬性信息組合tagName〃:〃INPUT",〃name〃:〃user〃,〃type〃:〃text〃作為第一屬性信息組合,并且,在所述第三屬性信息組合中新增一個其它屬性信息形成新的第二屬性信息組合tagName〃:〃INPUT〃,"name〃:〃user〃,"type〃:〃text〃,"value〃:〃1〃,以此類推,直至第三數(shù)量為1,且第二數(shù)量大于或等于第三數(shù)量時,將所述第三屬性信息組合,判定為可以唯一定位到對應web頁面元素的屬性信息,例如,若第三屬性信息組合tagName〃:〃INPUT","name〃:〃user",〃type〃:〃text〃定位到web頁面元素的數(shù)量為第三數(shù)量1,則可以判定第三屬性信息組合tagName〃:〃INPUT",〃name〃:〃user〃,〃type〃:〃text〃可以唯一定位到對應web頁面元素的屬性信息。[0188]當然,也可能在采用第二屬性信息組合tagName〃:〃INPUT",〃name〃:〃user〃遍歷第一集合,獲得當前定位到的web頁面元素的數(shù)量為第二數(shù)量1,那么此時也可以判定第二屬性信息組合tagName〃:〃INPUT","name〃:〃user〃可以唯一定位到對應web頁面元素的屬性信息。[0189]為了使本領域技術人員進一步了解本申請實施例,以下采用一個具體的示例來說明本申請實施例獲取第一定位信息R1的過程。[0190]假設存在web頁面元素的屬性信息〃tagName〃:〃INPUT",〃name〃:〃user〃,"type〃:〃text","value〃:〃1〃,采用上述屬性信息遍歷待測web頁面,并獲得定位到的web頁面元素的數(shù)量,具體可以參照如下表1所示的屬性信息定位web頁面元素數(shù)量表:[0191]【權利要求】1.一種web頁面元素定位的方法,其特征在于,包括:獲取待測web頁面中一個或多個web頁面元素的至少兩條定位信息;在所述至少兩條定位信息中確定最優(yōu)定位信息;當采用所述最優(yōu)定位信息不能定位到所述web頁面元素,并且,存在至少一條能定位到所述web頁面元素的其它定位信息時,采用所述其它定位信息更新所述最優(yōu)定位信息。2.根據(jù)權利要求1所述的方法,其特征在于,還包括:采用所述最優(yōu)定位信息進行所述web頁面元素的定位。3.根據(jù)權利要求1或2所述的方法,其特征在于,所述web頁面元素的定位信息包括三條,具體為:由所述web頁面元素本身的屬性組合形成的第一定位信息;由所述web頁面元素的父類元素的屬性組合和所述web頁面元素在其父類元素中的相對位置形成的第二定位信息;以及,由所述web頁面元素的XPATH路徑形成的第三定位信息。4.根據(jù)權利要求3所述的方法,其特征在于,所述獲取待測web頁面中一個或多個web頁面元素的至少兩條定位信息的步驟包括:子步驟S1,針對待測web頁面中的一個或多個web頁面元素,分別獲取其對應的屬性信息;子步驟S2,判斷是否存在可以唯一定位到對應web頁面元素的屬性信息;若是,則執(zhí)行子步驟S3;若否,則執(zhí)行子步驟S4;子步驟S3,記錄所述屬性信息形成所述web頁面元素本身的屬性組合;子步驟S4,獲取當前web頁面元素的父類元素的屬性信息;子步驟S5,判斷是否存在可以唯一定位到所述父類元素的屬性信息;若是,執(zhí)行子步驟S6;若否,則將所述父類元素作為當前web頁面元素返回子步驟S4;子步驟S6,記錄所述父類元素的屬性信息形成所述web頁面元素的父類元素的屬性組合,以及,獲取所述web頁面元素在其父類元素中的相對位置;子步驟S7,針對待測web頁面中的一個或多個web頁面元素,分別采用XPATH路徑定位引擎生成所述web頁面元素的XPATH路徑。5.根據(jù)權利要求4所述的方法,其特征在于,所述子步驟S2進一步包括:當次遍歷步驟,采用當次屬性信息組合,遍歷待測web頁面的web頁面元素集合,獲得所定位到的web頁面元素的當次集合及當次數(shù)量;下一次遍歷步驟,采用下一次屬性信息組合,對所述當次遍歷步驟得到的當次集合進行遍歷,獲得所定位到的web頁面元素的下一次集合及下一次數(shù)量;其中,下一次屬性信息組合包括了當次屬性信息組合中的信息以及新增的一個屬性信息;判斷步驟,判斷所述下一次數(shù)量是否小于或等于當次數(shù)量,并且,所述下一次數(shù)量是否為1;若是,則執(zhí)行成功判定步驟;若否,則執(zhí)行屬性信息轉換步驟;成功判定步驟,將所述下一次屬性信息組合,判定為可以唯一定位到對應web頁面元素的屬性信息;屬性組合轉換步驟,將所述下一次屬性信息組合作為當次屬性信息組合,下一次集合作為當次集合,下一次數(shù)量作為當次數(shù)量,重新執(zhí)行所述下一次遍歷步驟。6.根據(jù)權利要求4所述的方法,其特征在于,在子步驟S2之前,還包括:子步驟S11,從所述web頁面元素的一個或多個屬性信息中,過濾掉屬性值為空的屬性信息。7.根據(jù)權利要求4所述的方法,其特征在于,所述子步驟S5進一步包括:父類當次遍歷步驟,采用當次父類元素的屬性信息組合,遍歷待測web頁面的web頁面元素的父類元素集合,獲得所定位到的web頁面元素的父類元素的當次集合及當次數(shù)量;父類下一次遍歷步驟,采用下一次父類元素的屬性信息組合,對所述父類當次遍歷步驟得到的父類元素的當次集合進行遍歷,獲得所定位到的web頁面元素的父類元素的下一次集合及下一次數(shù)量;其中,下一次父類元素的屬性信息組合包括了當次父類元素的屬性信息組合中的信息以及新增的一個父類元素的屬性信息;父類判斷步驟,判斷所述下一次數(shù)量是否小于或等于當次數(shù)量,并且,所述下一次數(shù)量是否為1;若是,則執(zhí)行父類成功判定步驟;若否,則執(zhí)行父類屬性信息轉換步驟;父類成功判定步驟,將所述下一次父類元素的屬性信息組合,判定為可以唯一定位到對應web頁面元素的父類元素的屬性信息;父類屬性組合轉換步驟,將所述下一次父類元素的屬性信息組合作為當次父類元素的屬性信息組合,下一次集合作為當次集合,下一次數(shù)量作為當次數(shù)量,重新執(zhí)行父類下一次遍歷步驟。8.根據(jù)權利要求3所述的方法,其特征在于,所述在至少兩條web頁面元素的定位信息中確定最優(yōu)定位信息的步驟包括:統(tǒng)計采用所述第一定位信息對所述待測web頁面進行web頁面元素定位所耗費的時間為第一處理時間;統(tǒng)計采用所述第二定位信息對所述待測web頁面進行web頁面元素定位所耗費的時間為第二處理時間;統(tǒng)計采用所述第三定位信息對所述待測web頁面進行web頁面元素定位所耗費的時間為第三處理時間;將所述第一處理時間,第二處理時間和第三處理時間進行逆序排序,提取排序最前的處理時間所對應的定位信息作為最優(yōu)定位信息。9.根據(jù)權利要求4或5所述的方法,其特征在于,當所述最優(yōu)定位信息為第一定位信息時,所述采用最優(yōu)定位信息進行web頁面元素的定位的步驟包括:定位當次遍歷步驟,采用當次屬性信息組合,遍歷待測web頁面的web頁面元素集合,獲得所定位到的web頁面元素的當次集合及當次數(shù)量;定位下一次遍歷步驟,采用下一次屬性信息組合,對所述定位當次遍歷步驟得到的當次集合進行遍歷,獲得所定位到的web頁面元素的下一次集合及下一次數(shù)量;其中,下一次屬性信息組合包括了當次屬性信息組合中的信息以及新增的一個屬性信息;定位判斷步驟,判斷所述下一次數(shù)量是否小于或等于當次數(shù)量,并且,所述下一次數(shù)量是否為1;若是,則執(zhí)行定位成功判定步驟;若否,則執(zhí)行定位屬性組合轉換步驟;定位成功判定步驟,判定采用所述最優(yōu)定位信息定位到所述web頁面元素;定位屬性組合轉換步驟,將所述下一次屬性信息組合作為當次屬性信息組合,下一次集合作為當次集合,下一次數(shù)量作為當次數(shù)量,重新執(zhí)行定位下一次遍歷步驟。10.根據(jù)權利要求4或7所述的方法,其特征在于,當所述最優(yōu)定位信息為第二定位信息時,所述采用最優(yōu)定位信息進行web頁面元素的定位的步驟包括:父類定位當次遍歷步驟,采用當次父類元素的屬性信息組合,遍歷待測web頁面的web頁面元素的父類元素集合,獲得所定位到的web頁面元素的父類元素的當次集合及當次數(shù)量;父類定位下一次遍歷步驟,采用下一次父類元素的屬性信息組合,對所述父類定位當次遍歷步驟得到的父類元素的當次集合進行遍歷,獲得所定位到的web頁面元素的父類元素的下一次集合及下一次數(shù)量;其中,父類元素的下一次屬性信息組合包括了父類元素的當次屬性信息組合中的信息以及新增的一個父類元素的屬性信息;父類定位判斷步驟,判斷所述下一次數(shù)量是否小于或等于當次數(shù)量,并且,所述下一次數(shù)量是否為1;若是,則執(zhí)行父類定位成功判定步驟;若否,則執(zhí)行父類定位屬性信息轉換步驟;父類定位成功判定步驟,將所述下一次父類元素的屬性信息組合,判定為可以唯一定位到對應web頁面元素的父類元素的屬性信息,并轉至相對位置定位步驟;父類定位屬性組合轉換步驟,將所述下一次父類元素的屬性信息組合作為當次父類元素的屬性信息組合,下一次集合作為當次集合,下一次數(shù)量作為當次數(shù)量,重新執(zhí)行所述父類定位下一次遍歷步驟;相對位置定位步驟,在依據(jù)所述web頁面元素在其父類元素范圍內的相對位置定位到所述web頁面元素,則判定采用所述最優(yōu)定位信息定位到所述web頁面元素。11.根據(jù)權利要求1所述的方法,其特征在于,所述采用其它定位信息更新所述最優(yōu)定位信息的步驟包括:采用所述其它定位信息作為所述最優(yōu)定位信息;或者,采用所述其它定位信息修復所述最優(yōu)定位信息。12.-種web頁面元素定位的裝置,其特征在于,包括:定位信息獲取模塊,用于獲取待測web頁面中一個或多個web頁面元素至少兩條的定位信息;最優(yōu)定位信息選取模塊,用于在所述至少兩條定位信息中確定最優(yōu)定位信息;最優(yōu)定位信息更新模塊,用于當采用所述最優(yōu)定位信息不能定位到所述web頁面元素,并且,存在至少一條能定位到所述web頁面元素的其它定位信息時,采用所述其它定位信息更新所述最優(yōu)定位信息。13.根據(jù)權利要求12所述的裝置,其特征在于,還包括:web頁面元素定位模塊,用于采用所述最優(yōu)定位信息進行所述web頁面元素的定位。14.根據(jù)權利要求12或13所述的裝置,其特征在于,所述web頁面元素的定位信息包括三條,具體為:由所述web頁面元素本身的屬性組合形成的第一定位信息;由所述web頁面元素的父類元素的屬性組合和所述web頁面元素在其父類元素中的相對位置形成的第二定位信息;以及,由所述web頁面元素的XPATH路徑形成的第三定位信息。15.根據(jù)權利要求14所述的裝置,其特征在于,所述定位信息獲取模塊包括:屬性信息獲取子模塊,用于針對待測web頁面中的一個或多個web頁面元素,分別獲取其對應的屬性信息;定位判斷子模塊,用于判斷是否存在可以唯一定位到對應web頁面元素的屬性信息;若是,則調用屬性信息記錄子模塊;若否,則調用父類元素獲取子模塊;屬性信息記錄子模塊,用于記錄所述屬性信息形成所述web頁面元素本身的屬性組合;父類元素獲取子模塊,用于獲取當前web頁面元素的父類元素的屬性信息;父類定位判斷子模塊,用于判斷是否存在可以唯一定位到所述父類元素的屬性信息;若是,調用父類屬性信息記錄子模塊;若否,則將所述父類元素作為當前web頁面元素,并調用返回父類元素獲取子模塊;父類屬性信息記錄子模塊,用于記錄所述父類元素的屬性信息形成所述web頁面元素的父類元素的屬性組合,以及,獲取所述web頁面元素在其父類元素中的相對位置;路徑生成子模塊,用于針對待測web頁面中的一個或多個web頁面元素,分別采用XPATH路徑定位引擎生成所述web頁面元素的XPATH路徑。16.根據(jù)權利要求15所述的裝置,其特征在于,所述定位判斷子模塊包括:當次遍歷單元,用于采用當次屬性信息組合,遍歷待測web頁面的web頁面元素集合,獲得所定位到的web頁面元素的當次集合及當次數(shù)量;下一次遍歷單元,用于采用下一次屬性信息組合,對所述當次遍歷單元得到的當次集合進行遍歷,獲得所定位到的web頁面元素的下一次集合及下一次數(shù)量;其中,下一次屬性信息組合包括了當次屬性信息組合中的信息以及新增的一個屬性信息;判斷單元,用于判斷所述下一次數(shù)量是否小于或等于當次數(shù)量,并且,所述下一次數(shù)量是否為1;若是,則調用成功判定單元;若否,則調用屬性信息轉換單元;成功判定單元,用于將所述下一次屬性信息組合,判定為可以唯一定位到對應web頁面元素的屬性信息;屬性組合轉換單元,用于將所述下一次屬性信息組合作為當次屬性信息組合,下一次集合作為當次集合,下一次數(shù)量作為當次數(shù)量,重新執(zhí)行下一次遍歷步驟。17.根據(jù)權利要求15所述的裝置,其特征在于,還包括:屬性信息過濾子模塊,用于從所述web頁面元素的一個或多個屬性信息中,過濾掉屬性值為空的屬性信息。18.根據(jù)權利要求15所述的裝置,其特征在于,所述父類定位判斷子模塊包括:父類當次遍歷單元,用于采用當次父類元素的屬性信息組合,遍歷待測web頁面的web頁面元素的父類元素集合,獲得所定位到的web頁面元素的父類元素的當次集合及當次數(shù)量;父類下一次遍歷單元,用于采用下一次父類元素的屬性信息組合,對所述父類當次遍歷單元得到的父類元素的當次集合進行遍歷,獲得所定位到的web頁面元素的父類元素的下一次集合及下一次數(shù)量;其中,下一次父類元素的屬性信息組合包括了當次父類元素的屬性信息組合中的信息以及新增的一個父類元素的屬性信息;父類判斷單元,用于判斷所述下一次數(shù)量是否小于或等于當次數(shù)量,并且,所述下一次數(shù)量是否為1;若是,則調用父類成功判定單元;若否,則調用父類屬性信息轉換單元;父類成功判定單元,用于將所述下一次父類元素的屬性信息組合,判定為可以唯一定位到對應web頁面元素的父類元素的屬性信息;父類屬性組合轉換單元,用于將所述下一次父類元素的屬性信息組合作為當次父類元素的屬性信息組合,下一次集合作為當次集合,下一次數(shù)量作為當次數(shù)量,重新調用父類下一次遍歷單元。19.根據(jù)權利要求14所述的裝置,其特征在于,所述最優(yōu)定位信息選取模塊包括:第一統(tǒng)計子模塊,用于統(tǒng)計采用所述第一定位信息對所述待測web頁面進行web頁面元素定位所耗費的時間為第一處理時間;第二統(tǒng)計子模塊,用于統(tǒng)計采用所述第二定位信息對所述待測web頁面進行web頁面元素定位所耗費的時間為第二處理時間;第三統(tǒng)計子模塊,用于統(tǒng)計采用所述第三定位信息對所述待測web頁面進行web頁面元素定位所耗費的時間為第三處理時間;排序選取子模塊,用于將所述第一處理時間,第二處理時間和第三處理時間進行逆序排序,提取排序最前的處理時間所對應的定位信息作為最優(yōu)定位信息。20.根據(jù)權利要求15或16所述的裝置,其特征在于,所述web頁面元素定位模塊包括:定位當次遍歷子模塊,用于采用當次屬性信息組合,遍歷待測web頁面的web頁面元素集合,獲得所定位到的web頁面元素的當次集合及當次數(shù)量;定位下一次遍歷子模塊,用于采用下一次屬性信息組合,對所述當次遍歷子模塊得到的當次集合進行遍歷,獲得所定位到的web頁面元素的下一次集合及下一次數(shù)量;其中,下一次屬性信息組合包括了當次屬性信息組合中的信息以及新增的一個屬性信息;定位判斷子模塊,用于判斷所述下一次數(shù)量是否小于或等于當次數(shù)量,并且,所述下一次數(shù)量是否為1;若是,則執(zhí)行定位成功判定子模塊;若否,則執(zhí)行定位屬性組合轉換子模塊;定位成功判定子模塊,用于判定采用所述最優(yōu)定位信息定位到所述web頁面元素;定位屬性組合轉換子模塊,用于將所述下一次屬性信息組合作為當次屬性信息組合,下一次集合作為當次集合,下一次數(shù)量作為當次數(shù)量,重新調用下一次遍歷子模塊。21.根據(jù)權利要求15或18所述的裝置,其特征在于,所述web頁面元素定位模塊包括:父類定位當次遍歷子模塊,用于采用當次父類元素的屬性信息組合,遍歷待測web頁面的web頁面元素的父類元素集合,獲得所定位到的web頁面元素的父類元素的當次集合及當次數(shù)量;父類定位下一次遍歷子模塊,用于采用下一次父類元素的屬性信息組合,對所述父類定位當次遍歷子模塊得到的父類元素的當次集合進行遍歷,獲得所定位到的web頁面元素的父類元素的下一次集合及下一次數(shù)量;其中,父類元素的下一次屬性信息組合包括了父類元素的當次屬性信息組合中的信息以及新增的一個父類元素的屬性信息;父類定位判斷子模塊,用于判斷所述下一次數(shù)量是否小于或等于當次數(shù)量,并且,所述下一次數(shù)量是否為1;若是,則調用父類定位成功判定子模塊;若否,則調用父類定位屬性信息轉換子模塊;父類定位成功判定子模塊,用于將所述下一次父類元素的屬性信息組合,判定為可以唯一定位到對應web頁面元素的父類元素的屬性信息,并轉至相對位置定位子模塊;父類定位屬性組合轉換子模塊,用于將所述下一次父類元素的屬性信息組合作為父類元素的當次屬性信息組合,下一次集合作為當次集合,下一次數(shù)量作為當次數(shù)量,重新執(zhí)行父類下一次調用子模塊;相對位置定位子模塊,用于在依據(jù)所述web頁面元素在其父類元素范圍內的相對位置定位到所述web頁面元素時,則判定采用所述最優(yōu)定位信息定位到所述web頁面元素。22.根據(jù)權利要求12所述的裝置,其特征在于,所述最優(yōu)定位信息更新模塊包括:最優(yōu)定位信息替換模塊,用于采用所述其它定位信息作為所述最優(yōu)定位信息;最優(yōu)定位信息修復模塊,用于采用所述其它定位信息修復所述最優(yōu)定位信息。23.-種web頁面元素定位的系統(tǒng),其特征在于,包括:信息提取裝置,用于獲取待測web頁面中一個或多個web頁面元素的至少兩條定位信息,并在所述至少兩條定位信息中確定最優(yōu)定位信息;定位引擎裝置,用于采用所述至少兩條定位信息進行web頁面元素的定位;反饋裝置,用于在采用所述最優(yōu)定位信息不能定位到所述web頁面元素,并且,存在至少一條能定位到所述web頁面元素的其它定位信息時,采用所述其它定位信息更新所述最優(yōu)定位信息?!疚臋n編號】G06F11/36GK104424087SQ201310367470【公開日】2015年3月18日申請日期:2013年8月21日優(yōu)先權日:2013年8月21日【發(fā)明者】夏大偉,張國順申請人:阿里巴巴集團控股有限公司