2012-06-18 78 views
0

我使用Selenium IDE和firefox在我的網站上運行測試,當我錄製時,我點擊列表中的一個項目,它只給我一個動作: Click:css = span.ui-selectmenu-statusSelenium IDE:在jquery ui下拉菜單中選擇一個href

我想從列表中選擇一個項目,但類和ID是動態加載的,因爲該站點在這裏使用JQUERY UI運行。

我想有:

點擊://div[@id='hlevel-menu']/a[.='CATS']

但它返回一個錯誤:沒有找到..

我想這是錯誤的或超錯了,如果有人知道如何做到這一點請幫助:)

這裏是代碼我要找的部分:

<div class="dceui ui-selectmenu-menu ui-selectmenu-open" style="z-index: 1; top: 363px; left: 699.5px;"> 

    <ul id="hlevel-menu" class="ui-widget ui-widget-content ui-selectmenu-menu-dropdown ui-corner-bottom bg_education_icon" aria-hidden="false" role="listbox" aria-labelledby="hlevel-button" style="width: 121px; height: auto;" aria-disabled="false" aria-activedescendant="ui-selectmenu-item-331"> 

    <li class="" role="presentation"> 
     <a id="" href="#nogo" tabindex="-1" role="option" aria-selected="false">- Please choose -</a> 
    </li> 

    <li class="" role="presentation"> 
     <a href="#nogo" tabindex="-1" role="option" aria-selected="false">DOGS</a> 
    </li> 

    <li class="" role="presentation"> 
     <a id="" href="#nogo" tabindex="-1" role="option" aria-selected="false">CATS</a> 
    </li> 

    <li class="ui-corner-bottom ui-selectmenu-item-selected" role="presentation"> 
     <a href="#nogo" tabindex="-1" role="option" aria-selected="true" id="ui-selectmenu-item-331">PIGS</a> 
    </li> 
</div> 

非常感謝!

+0

啊,好吧,現在你已經發布了html,這是超級壓抑。看看你的選擇器。我會修改我的回答 –

回答

0

它不工作,因爲//div/a正在尋找直系後代,而不是所有的子標籤內的任何地方的標籤。你需要做的//div/ul/li/a[text()='CATS']

然後,你需要做自己的一些學習上xpath

+0

謝謝你的迴應!我要去嘗試兩種,我會讓你知道 –

0

你的意思是一個jQuery自動完成?或者正常類型下拉?

這是我在selenium中選擇自動完成列表值的方式:(注意這是在代碼中輸入的,而不是記錄的代碼)。這有點棘手,你必須讓它觸發自動完成,然後你必須突出顯示值,然後你必須選擇它。

string locator = "id=hlevel-menu"; 
string value = "CATS"; 
selenium.Focus(locator); 
selenium.Type(locator, value); 
selenium.KeyDown(locator, "\\40"); 
Thread.Sleep(50); 
selenium.KeyDown(locator, "\\40"); 
Thread.Sleep(50); 
selenium.KeyDown(locator, "\\13"); 
Thread.Sleep(50); 
+0

謝謝你的迴應!我會嘗試兩種,我會讓你知道 –

相關問題