2017/02/01

【自動化網頁】Watin瀏覽器尋找元件技巧

首先,大部分的網頁元件都可以被Watin辨識搜尋到。
可以從這裡找到各種標籤對應的名稱 。
如果沒有符合條件的標籤,也可以由以下方式尋找,例如h1標籤:

_IE.ElementWithTag("h1", Find.First)

預設情況下,會以標籤中的ID參數來尋找,例如最簡單的尋找連結:
browser.Link(linkId);
等同於下面這一句的效果:
browser.Link(Find.ByID(linkId));
另外還有很多的參數搜尋方式,以下列出常用的:
ByAlt
ByClass
ById
ByName
BySrc
ByText
ByUrl
ByValue (沒有任何符合條件的參數時使用)
First (直接找第一個符合標籤條件的元素)
ByIndex(1) (第二個符合標籤條件的元素)

要注意的是上述的方法旨在尋找第一個符合條件的標籤,因此無法動態挑出多個標籤,如果有多個目標時,可使用複數目標標籤,但這個條件下還要再加上Filter。
_IE.Links.Filter(Find.ByID(linkId))

配合foreach迴圈,便可以更簡單地進行操作。
foreach(Link _Link in _IE.Links.Filter(Find.ByID(linkId))){ ... }

最後,如果標籤中沒有特別明顯的特徵,也可以只尋找部分的字串
_IE.Image(Find.BySrc(src => src.Contains("key")))

沒有留言: