2012-01-09 42 views
1

我的列表嵌套在兩個標題下,我不知道如何通過watir訪問它們,因爲樣式顯示設置爲「none」,直到發生「懸停」事件。直到懸停/混音也沒有定義類。如何使用watir和firefox訪問未識別的嵌套菜單元素?

b.link(:text, /Assessments/).fire_event('onmouseover') 

將打開最初的下拉菜單。我不知道如何訪問的元素在「分層次」上

變分法的Watir被拒絕如下:

b.link(:class, "sub-level").click 
b.link(:class, "sub-level").fire_event('onmouseover') 
b.link(:class, "sub-level").fire_event('hover') 

Watir::Exception::UnknownObjectException: unable to locate element, using {:class=>"sub-level", :tag_name=>"a"} 

我已經通過IRB爲每一個新的快速測試運行此我添加到我的腳本。如果這是不正確的,我將不勝感激任何建議。

<li class="top-level"> 
<a class="" href="#"> 
Assessments&nbsp;&nbsp; 
<img id="lfArrowImg" style="border:0px;" src="https://test.com/top/images/global_nav_downArrow.gif"> 
</a> 
    <ul style="z-index: 1045; display: none;"> 
    <li class="sub-level"> 
    <a class=""> 
    Assessments 
    <div id="menugroup" class="dr-menu-node dr-menu-node-icon rich-menu-item-folder rich-menu-group-folder"></div> 
    </a> 
    <ul style="z-index: 1068; display: none;">  
    <li class="sub-level"> 
    <a class="" href="http://test.com/content/aa/assessment/index.xhtml">Main</a> 
    </li> 
    <li class="sub-level"> 
    <li class="sub-level"> 
</ul> 
</li> 

感謝, 達明

+1

BTW:congradulations發佈第500堆棧溢出項目上有一個'watir'標籤。 (不,你沒有贏得任何東西,除非我希望對你的問題有一個很好的回答。 – 2012-01-10 06:12:02

+0

你希望嗎?只要你回答了,好的部分就在袋子裏。 – 2012-01-10 15:32:21

+0

呃不算那隻雞直到我看到大的綠色複選標記表示一個被接受的答案我並不總是對的,我總是在學習更多的東西(通常是研究問題的答案的結果)雖然我的妻子在前幾天發現了一個近乎完美的表情。經常是錯誤的,從來沒有疑問「LOL – 2012-01-10 16:38:03

回答

2

的錯誤是正確的,因爲你有一類子級別的代碼沒有鏈接標籤。與類的事情是李(列表項),其中包含鏈接元素元素(又名「錨」因此標籤)

嘗試是這樣的(這取決於哪一個環節要點擊)

browser.li(:class => 'sub-level', :text => 'Assessments').link.click 
browser.li(:class => 'sub-level', :text => 'Main').link.click 

欲瞭解更多關於如何識別元素,特別是如果他們沒有一個方便的ID,等級等,見回答這個SO問題:How to get index of parent element using Watir Webdriver?及答案(三個)對這個問題也:Accessing an element with no attributes in Watir