QuickTestPro處理帶有IFRAME的問題

2021-04-12 15:47:02 字數 4564 閱讀 8785

quicktestpro處理帶有iframe的問題

問題原文

「我的web頁最下面一塊是引入iframe的版權頁面.導致我動態讀取不到iframe外的其它鏈結。

我的動態讀取語句如下:

set odesc = description.create()

odesc("class name").value="link"

set objcoll = browser("**商").page("**商").childobjects(odesc)

numberoflists =objectcoll.count()

-----頁面上本來有十幾個link的,但因為頁面下面有iframe的原因,跟蹤以上語句發現讀取的是iframe裡的link,始終讀取不到iframe外的link , 請問如何解決?

」這道問題核心是取得所有的頁面鏈結然後進行處理,但是由於其中包含了iframe導致利用集合無法得到頁面中的所有鏈結(link)物件。為了解決這個問題,我自己模擬了乙個環境,寫了帶有iframe的頁面,然後利用qtp進行處理。

html**如下:

1.帶有iframe的html**

這是乙個測試

2.iframe包含的頁面檔案html** -  url.html

qtp**如下:列舉所有的頁面link

dim objpage

dim objtag

dim inttotallink

dim intctr

dim strlink

dim strhref

dim odesc

dim numberofiframe

'列舉網頁中除了帶有iframe裡所有外部的鏈結

'#############################################

set objpage = browser("browser").page("page").object

set objtag = objpage.getelementsbytagname("a")

inttotallink = objtag.length - 1

for intctr = 0 to inttotallink

strlink = objtag(intctr).innertext

strhref = objtag(intctr).href

msgbox  strlink

msgbox strhref

next

'#############################################

'列舉iframe內的所有鏈結

set odesc = description.create()

odesc("html tag").value = "iframe"

set iframe = browser("browser").page("page").childobjects(odesc)

numberofiframe = iframe.count()

for i = 0 to numberofiframe - 1

set objpage = iframe(i).object

set objtag = objpage.getelementsbytagname("a")

inttotallink = objtag.length - 1

for intctr = 0 to inttotallink

strlink = objtag(intctr).innertext

strhref = objtag(intctr).href

msgbox  strlink

msgbox strhref

next

next

set  odesc=nothing

'######################################

以上**在中window2000ad sp4+qtp8.2上除錯通過。

備註:解決這個問題的方法很多,在51testing cpe工具使用培訓的課程中就提到了解決這個問題的技術,我還寫了一套**同樣解決這個問題。

原稿出處:

問題原文

「我的web頁最下面一塊是引入iframe的版權頁面.導致我動態讀取不到iframe外的其它鏈結。

我的動態讀取語句如下:

set odesc = description.create()

odesc("class name").value="link"

set objcoll = browser("**商").page("**商").childobjects(odesc)

numberoflists =objectcoll.count()

-----頁面上本來有十幾個link的,但因為頁面下面有iframe的原因,跟蹤以上語句發現讀取的是iframe裡的link,始終讀取不到iframe外的link , 請問如何解決?

」這道問題核心是取得所有的頁面鏈結然後進行處理,但是由於其中包含了iframe導致利用集合無法得到頁面中的所有鏈結(link)物件。為了解決這個問題,我自己模擬了乙個環境,寫了帶有iframe的頁面,然後利用qtp進行處理。

html**如下:

1.帶有iframe的html**

這是乙個測試

2.iframe包含的頁面檔案html** -  url.html

qtp**如下:列舉所有的頁面link

dim objpage

dim objtag

dim inttotallink

dim intctr

dim strlink

dim strhref

dim odesc

dim numberofiframe

'列舉網頁中除了帶有iframe裡所有外部的鏈結

'#############################################

set objpage = browser("browser").page("page").object

set objtag = objpage.getelementsbytagname("a")

inttotallink = objtag.length - 1

for intctr = 0 to inttotallink

strlink = objtag(intctr).innertext

strhref = objtag(intctr).href

msgbox  strlink

msgbox strhref

next

'#############################################

'列舉iframe內的所有鏈結

set odesc = description.create()

odesc("html tag").value = "iframe"

set iframe = browser("browser").page("page").childobjects(odesc)

numberofiframe = iframe.count()

for i = 0 to numberofiframe - 1

set objpage = iframe(i).object

set objtag = objpage.getelementsbytagname("a")

inttotallink = objtag.length - 1

for intctr = 0 to inttotallink

strlink = objtag(intctr).innertext

strhref = objtag(intctr).href

msgbox  strlink

msgbox strhref

next

next

set  odesc=nothing

'######################################

以上**在中window2000ad sp4+qtp8.2上除錯通過。

備註:解決這個問題的方法很多,在51testing cpe工具使用培訓的課程中就提到了解決這個問題的技術,我還寫了一套**同樣解決這個問題

VB 呼叫 QuickTestpro 指令碼

摘選自 今天幫乙個加拿大的朋友解決vb呼叫qtp的問題,自己寫了乙個demo 下邊是源 1.新建工程,引入quicktest professional 8.0 object library 2.編寫 如下 private strscriptname as string private strruns...

處理帶引數的儲存過程

儲存過程 create procedure customer select country nvarchar 15 asselect customerid,companyname,contactname from customers where country country go.aspx cs ...

sql處理帶逗號的資料

這篇部落格宗旨在於處理如何使用sql把帶逗號的資料轉換為表中的行以及將表中的行拼接成用逗號組成的資料。具體 如下功能寫在注釋裡 將有逗號的資料轉換為乙個表儲存id加資料 godeclare text varchar 200 set text test1,test2 declare xml xml s...