2011-03-11 48 views
1

net/watin應用程序,我試圖從客戶端網站上的組合框中選擇項目。我可以使用watin刪除列表並從列表中選擇(highlite)項目,但所選項目不會填充上面的文本框。看來watin的.select()不會引發事件觸發。無法使用vb.net從選擇列表下拉列表中選擇一個項目

我可以通過寫入組合框中項目的第一個字母來解決此問題,並使用超文本功能來選擇項目,但這並不理想。

有人可以指出爲什麼下面的代碼不會填充組合框? 感謝

這裏是應該選擇一個組合框項目代碼:

'***Find combobox frame 
    Dim ie_tabWell1 As Frame 
    ie_tabWell1 = ie.Frame(Find.ById("sframeInner")).Frame(Find.ById("wellFrame")).Frame(Find.ById("tabWell1")) 


    '*** Drop down the list (Not really needed) 
    ie_tabWell1.TextField(Find.ById("ctlMaritalStatusText__")).ClickNoWait() 
    'ie_tabWell1.Span(Find.ByValue("Single")).Focus() 

    '*** Select the list item (Selects an item but dosn't populate the combobox) 
    ie_tabWell1.SelectList(Find.ById("ctlMaritalStatusList__")).Option(Find.ByText("Single")).Select()   
    ie_tabWell1.TextField(Find.ById("ctlMaritalStatusText__")).Refresh() 

回答

0

我認爲這個問題是由應用程序是如何觸發列表中的人口造成的,即它們觸發的WatiN在點擊該項目時未點燃的事件。

我們有類似的問題,我們需要找到該項目,然後專注於該項目,然後點擊鼠標點擊以正確觸發事件。

另一種方式本來是調用document.eval方法來自己觸發javascript事件,但是這開始扭曲了被測試的應用程序有點太多恕我直言。 。

+0

謝謝。我能夠使用object.keypress(字符)來強制下拉式響應,就像數據來自鍵盤一樣。 – kenmtb 2012-06-12 20:06:37

0

我有不少類似你們的有同樣的問題

ie.SelectList( 「drpmcCreateVisitTypeSelect」)選項( 「心血管病諮詢」)在我的代碼選擇();

但添加這個我片段後,我得到了預期的行爲,我們需要觸發點擊()事件,以獲得該項目選定爲

ie.SelectList(「drpmcCreateVisitTypeSelect」)選項(「心臟病學諮詢「)點擊()。

相關問題