欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種xml路徑表達(dá)式提取方法及裝置制造方法

文檔序號(hào):6517051閱讀:137來(lái)源:國(guó)知局
一種xml路徑表達(dá)式提取方法及裝置制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)一種XML路徑表達(dá)式提取方法及裝置,方法包括:步驟(1),設(shè)定多個(gè)具有層級(jí)關(guān)系的限制條件,初始化最低層級(jí)的限制條件為當(dāng)前限制條件;步驟(2),在當(dāng)前限制條件下提取待標(biāo)識(shí)元素節(jié)點(diǎn)的XML路徑表達(dá)式;步驟(3),根據(jù)所述XML路徑表達(dá)式進(jìn)行定位,且:如果所述XML路徑表達(dá)式唯一定位到所述待標(biāo)識(shí)元素節(jié)點(diǎn),則所述XML路徑表達(dá)式提取結(jié)束;否則如果所述XML路徑定位到超過(guò)一個(gè)元素節(jié)點(diǎn),則選擇當(dāng)前限制條件上一級(jí)的限制條件為當(dāng)前限制條件,并執(zhí)行步驟(2)。本發(fā)明由于采用了盡可能?chē)?yán)格的XML路徑表達(dá)式,因此減少了網(wǎng)頁(yè)發(fā)生微小變化時(shí),XML路徑表達(dá)式失效的可能性。
【專(zhuān)利說(shuō)明】一種XML路徑表達(dá)式提取方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及XML相關(guān)【技術(shù)領(lǐng)域】,特別是一種XML路徑表達(dá)式提取方法及裝置。
【背景技術(shù)】
[0002]XPath是一門(mén)在XML文檔中查找信息的語(yǔ)言。XPath可用來(lái)在XML文檔中對(duì)元素節(jié)點(diǎn)和屬性進(jìn)行遍歷。XPath使用XML路徑表達(dá)式來(lái)選取XML文檔中的節(jié)點(diǎn)或者節(jié)點(diǎn)集。這些XML路徑表達(dá)式和我們?cè)诔R?guī)的電腦文件系統(tǒng)中看到的表達(dá)式非常相似。
[0003]在網(wǎng)頁(yè)自動(dòng)化測(cè)試中,常用xpath的方式進(jìn)行元素節(jié)點(diǎn)定位,然后再對(duì)定位到的元素節(jié)點(diǎn)進(jìn)行操作。比如通過(guò)xpath定位到某按鈕,然后自動(dòng)化再觸發(fā)點(diǎn)擊該按鈕;又比如通過(guò)xpath定位到某文本框,然后自動(dòng)化再對(duì)該文本框賦值。
[0004]現(xiàn)有獲得XML路徑表達(dá)式的方法是從指定元素節(jié)點(diǎn)開(kāi)始,獲得當(dāng)前節(jié)點(diǎn)的tag名稱(chēng),以及當(dāng)前元素節(jié)點(diǎn)是否有兄弟節(jié)點(diǎn),再逐層向上查找,直到遇到網(wǎng)頁(yè)xml的根節(jié)點(diǎn)或者包含id屬性的節(jié)點(diǎn)為止,再依次拼接起來(lái)。
[0005]比如一個(gè)只包含百度、京東、淘寶三個(gè)鏈接的簡(jiǎn)單網(wǎng)頁(yè),網(wǎng)頁(yè)的源代碼如下:
[0006]
【權(quán)利要求】
1.一種XML路徑表達(dá)式提取方法,其特征在于,包括: 步驟(1),設(shè)定多個(gè)具有層級(jí)關(guān)系的限制條件,初始化最低層級(jí)的限制條件為當(dāng)前限制條件,且所述最低層級(jí)的限制條件對(duì)待標(biāo)識(shí)元素節(jié)點(diǎn)的標(biāo)識(shí)方式最嚴(yán)格; 步驟(2),在當(dāng)前限制條件下提取待標(biāo)識(shí)元素節(jié)點(diǎn)的XML路徑表達(dá)式; 步驟(3 ),根據(jù)所述XML路徑表達(dá)式進(jìn)行定位,且: 如果所述XML路徑表達(dá)式唯一定位到所述待標(biāo)識(shí)元素節(jié)點(diǎn),則所述XML路徑表達(dá)式提取結(jié)束; 否則如果所述XML路徑定位到超過(guò)一個(gè)元素節(jié)點(diǎn),則選擇當(dāng)前限制條件上一級(jí)的限制條件為當(dāng)前限制條 件,并執(zhí)行步驟(2 )。
2.根據(jù)權(quán)利要求1所述的XML路徑表達(dá)式提取方法,其特征在于,所述最低層級(jí)的限制條件為:使用標(biāo)簽名稱(chēng)和id屬性標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn),最高層級(jí)的限制條件為:至少使用標(biāo)簽名稱(chēng)、id屬性和數(shù)組標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn)。
3.根據(jù)權(quán)利要求2所述的XML路徑表達(dá)式提取方法,其特征在于,所述多個(gè)限制條件還包括: 文本內(nèi)容限制條件,至少使用標(biāo)簽名稱(chēng)、id屬性和文本內(nèi)容標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)占.超鏈接限制條件,至少使用標(biāo)簽名稱(chēng)、id屬性和超鏈接標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn)。
4.根據(jù)權(quán)利要求3所述的XML路徑表達(dá)式提取方法,其特征在于,所述步驟(2),具體包括: 步驟(21),設(shè)置當(dāng)前節(jié)點(diǎn)為所述待標(biāo)識(shí)元素節(jié)點(diǎn); 步驟(22),獲得當(dāng)前節(jié)點(diǎn)的標(biāo)簽名稱(chēng)并賦值給XML路徑表達(dá)式; 步驟(23),判斷當(dāng)前節(jié)點(diǎn)是否有id屬性,如果有id屬性,則向所述XML路徑表達(dá)式添加當(dāng)前節(jié)點(diǎn)的id屬性; 步驟(24),判斷當(dāng)前限制條件是否包括使用文本內(nèi)容標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn),如果當(dāng)前限制條件包括使用文本內(nèi)容標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn),且當(dāng)前節(jié)點(diǎn)為文本節(jié)點(diǎn),則向所述XML路徑表達(dá)式添加當(dāng)前節(jié)點(diǎn)的文本內(nèi)容; 步驟(25),判斷當(dāng)前限制條件是否包括使用超鏈接標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn),如果當(dāng)前限制條件包括使用超鏈接標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn),且當(dāng)前節(jié)點(diǎn)的標(biāo)簽名稱(chēng)為超鏈接標(biāo)簽,則向所述XML路徑表達(dá)式添加當(dāng)前節(jié)點(diǎn)的超鏈接內(nèi)容; 步驟(26),判斷當(dāng)前限制條件是否包括使用數(shù)組標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn),如果當(dāng)前限制條件包括使用數(shù)組標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn),且當(dāng)前節(jié)點(diǎn)包括同一父節(jié)點(diǎn)下的兄弟節(jié)點(diǎn),則獲取所述當(dāng)前節(jié)點(diǎn)在父節(jié)點(diǎn)下的節(jié)點(diǎn)索引,向所述XML路徑表達(dá)式添加所述節(jié)點(diǎn)索引。
5.根據(jù)權(quán)利要求4所述的XML路徑表達(dá)式提取方法,其特征在于,所述步驟(2),還包括: 如果當(dāng)前節(jié)點(diǎn)包括id屬性,或者當(dāng)前節(jié)點(diǎn)為根節(jié)點(diǎn),則執(zhí)行步驟(3),否則設(shè)置當(dāng)前節(jié)點(diǎn)為當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn),執(zhí)行步驟(22 )。
6.根據(jù)權(quán)利要求4所述的XML路徑表達(dá)式提取方法,其特征在于,所述步驟(24)中,具體包括:判斷當(dāng)前限制條件是否包括使用文本內(nèi)容標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn),如果當(dāng)前限制條件包括使用文本內(nèi)容標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn),且當(dāng)前節(jié)點(diǎn)為文本節(jié)點(diǎn),則向所述XML路徑表達(dá)式添加當(dāng)前節(jié)點(diǎn)的全部文本內(nèi)容或者部分文本內(nèi)容。
7.根據(jù)權(quán)利要求6所述的XML路徑表達(dá)式提取方法,其特征在于,所述步驟(24)中,向所述XML路徑表達(dá)式添加當(dāng)前節(jié)點(diǎn)的全部文本內(nèi)容或者部分文本內(nèi)容,具體包括: 如果當(dāng)前節(jié)點(diǎn)的文本內(nèi)容的包含換行符,則向所述XML路徑表達(dá)式添加當(dāng)前節(jié)點(diǎn)的文本內(nèi)容中換行符前預(yù)設(shè)文本閾值個(gè)字符; 如果當(dāng)前節(jié)點(diǎn)的文本內(nèi)容的文本長(zhǎng)度小于預(yù)設(shè)文本閾值,且不包含換行符,則向所述XML路徑表達(dá)式添加當(dāng)前節(jié)點(diǎn)的全部文本內(nèi)容; 如果當(dāng)前節(jié)點(diǎn)的文本內(nèi)容的文本長(zhǎng)度大于預(yù)設(shè)文本閾值,且不包含換行符,則向所述XML路徑表達(dá)式添加當(dāng)前節(jié)點(diǎn)的文本內(nèi)容中前預(yù)設(shè)文本閾值個(gè)字符。
8.一種XML路徑表達(dá)式提取裝置,其特征在于,包括: 限制條件設(shè)置模塊,用于設(shè)定多個(gè)具有層級(jí)關(guān)系的限制條件,初始化最低層級(jí)的限制條件為當(dāng)前限制條件,且所述最低層級(jí)的限制條件對(duì)待標(biāo)識(shí)元素節(jié)點(diǎn)的標(biāo)識(shí)方式最嚴(yán)格;路徑提取模塊,用于在當(dāng)前限制條件下提取待標(biāo)識(shí)元素節(jié)點(diǎn)的XML路徑表達(dá)式;元素節(jié)點(diǎn)定位模塊,用于根據(jù)所述XML路徑表達(dá)式進(jìn)行定位,且: 如果所述XML路徑表達(dá)式唯一定位到所述待標(biāo)識(shí)元素節(jié)點(diǎn),則所述XML路徑表達(dá)式提取結(jié)束; 否則如果所述XML路徑定位 到超過(guò)一個(gè)元素節(jié)點(diǎn),則選擇當(dāng)前限制條件上一級(jí)的限制條件為當(dāng)前限制條件,并執(zhí)行路徑提取模塊。
9.根據(jù)權(quán)利要求8所述的XML路徑表達(dá)式提取裝置,其特征在于,所述最低層級(jí)的限制條件為:使用標(biāo)簽名稱(chēng)和id屬性標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn),最高層級(jí)的限制條件為:至少使用標(biāo)簽名稱(chēng)、id屬性和數(shù)組標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn)。
10.根據(jù)權(quán)利要求9所述的XML路徑表達(dá)式提取裝置,其特征在于,所述多個(gè)限制條件還包括: 文本內(nèi)容限制條件,至少使用標(biāo)簽名稱(chēng)、id屬性和文本內(nèi)容標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)占.超鏈接限制條件,至少使用標(biāo)簽名稱(chēng)、id屬性和超鏈接標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn)。
11.根據(jù)權(quán)利要求10所述的XML路徑表達(dá)式提取裝置,其特征在于,所述路徑提取模塊,具體包括: 節(jié)點(diǎn)設(shè)置子模塊,用于設(shè)置當(dāng)前節(jié)點(diǎn)為所述待標(biāo)識(shí)元素節(jié)點(diǎn); 標(biāo)簽名稱(chēng)賦值子模塊,用于獲得當(dāng)前節(jié)點(diǎn)的標(biāo)簽名稱(chēng)并賦值給XML路徑表達(dá)式;id屬性賦值子模塊,用于判斷當(dāng)前節(jié)點(diǎn)是否有id屬性,如果有id屬性,則向所述XML路徑表達(dá)式添加當(dāng)前節(jié)點(diǎn)的id屬性; 文本內(nèi)容賦值子模塊,用于判斷當(dāng)前限制條件是否包括使用文本內(nèi)容標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn),如果當(dāng)前限制條件包括使用文本內(nèi)容標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn),且當(dāng)前節(jié)點(diǎn)為文本節(jié)點(diǎn),則向所述XML路徑表達(dá)式添加當(dāng)前節(jié)點(diǎn)的文本內(nèi)容; 超鏈接賦值子模塊,用于判斷當(dāng)前限制條件是否包括使用超鏈接標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn),如果當(dāng)前限制條件包括使用超鏈接標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn),且當(dāng)前節(jié)點(diǎn)的標(biāo)簽名稱(chēng)為超鏈接標(biāo)簽,則向所述XML路徑表達(dá)式添加當(dāng)前節(jié)點(diǎn)的超鏈接內(nèi)容; 數(shù)組賦值子模塊,用于判斷當(dāng)前限制條件是否包括使用數(shù)組標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn),如果當(dāng)前限制條件包括使用數(shù)組標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn),且當(dāng)前節(jié)點(diǎn)包括同一父節(jié)點(diǎn)下的兄弟節(jié)點(diǎn),則獲取所述當(dāng)前節(jié)點(diǎn)在父節(jié)點(diǎn)下的節(jié)點(diǎn)索引,向所述XML路徑表達(dá)式添加所述節(jié)點(diǎn)索引。
12.根據(jù)權(quán)利要求11所述的XML路徑表達(dá)式提取裝置,其特征在于,所述路徑提取模塊,還包括: 上層節(jié)點(diǎn)子模塊,用于如果當(dāng)前節(jié)點(diǎn)包括id屬性,或者當(dāng)前節(jié)點(diǎn)為根節(jié)點(diǎn),則執(zhí)行元素節(jié)點(diǎn)定位模塊,否則設(shè)置當(dāng)前節(jié)點(diǎn)為當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn),執(zhí)行標(biāo)簽名稱(chēng)賦值子模塊。
13.根據(jù)權(quán)利要求11所述的XML路徑表達(dá)式提取裝置,其特征在于,所述文本內(nèi)容賦值子模塊,具體用于: 判斷當(dāng)前限制條件是否包括使用文本內(nèi)容標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn),如果當(dāng)前限制條件包括使用文本內(nèi)容標(biāo)識(shí)所述待標(biāo)識(shí)元素節(jié)點(diǎn),且當(dāng)前節(jié)點(diǎn)為文本節(jié)點(diǎn),則向所述XML路徑表達(dá)式添加當(dāng)前節(jié)點(diǎn)的全部文本內(nèi)容或者部分文本內(nèi)容。
14.根據(jù)權(quán)利 要求13所述的XML路徑表達(dá)式提取裝置,其特征在于,所述文本內(nèi)容賦值子模塊中,向所述XML路徑表達(dá)式添加當(dāng)前節(jié)點(diǎn)的全部文本內(nèi)容或者部分文本內(nèi)容,具體包括: 如果當(dāng)前節(jié)點(diǎn)的文本內(nèi)容的包含換行符,則向所述XML路徑表達(dá)式添加當(dāng)前節(jié)點(diǎn)的文本內(nèi)容中換行符前預(yù)設(shè)文本閾值個(gè)字符; 如果當(dāng)前節(jié)點(diǎn)的文本內(nèi)容的文本長(zhǎng)度小于預(yù)設(shè)文本閾值,且不包含換行符,則向所述XML路徑表達(dá)式添加當(dāng)前節(jié)點(diǎn)的全部文本內(nèi)容; 如果當(dāng)前節(jié)點(diǎn)的文本內(nèi)容的文本長(zhǎng)度大于預(yù)設(shè)文本閾值,且不包含換行符,則向所述XML路徑表達(dá)式添加當(dāng)前節(jié)點(diǎn)的文本內(nèi)容中前預(yù)設(shè)文本閾值個(gè)字符。
【文檔編號(hào)】G06F17/30GK103605675SQ201310524422
【公開(kāi)日】2014年2月26日 申請(qǐng)日期:2013年10月30日 優(yōu)先權(quán)日:2013年10月30日
【發(fā)明者】劉佳 申請(qǐng)人:北京京東尚科信息技術(shù)有限公司, 北京京東世紀(jì)貿(mào)易有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
桦川县| 和政县| 罗平县| 阿巴嘎旗| 福州市| 宜黄县| 思茅市| 界首市| 万州区| 册亨县| 抚宁县| 鹤岗市| 兴业县| 冷水江市| 常宁市| 宿迁市| 新绛县| 虎林市| 南充市| 安庆市| 内江市| 新丰县| 泸定县| 乳源| 磐石市| 湛江市| 连云港市| 涿州市| 桓仁| 南川市| 西林县| 沁源县| 哈巴河县| 天峻县| 贡觉县| 交城县| 晋宁县| 景东| 酉阳| 桃源县| 崇明县|