2011-08-26 81 views
1

裏面我有類似HTML的無法點擊錨與圖像LI標籤

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML Transitional//EN"> 
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<HTML> 
    <BODY class=" ext-border-box ext-ie ext-ie7 ext-windows" style="OVERFLOW: hidden"> 
    <DIV class=" x-viewport x-component x-border-layout-ct" id="x-auto-0" style="WIDTH: 1280px; HEIGHT: 862px" __eventBits="16384"> 
     <DIV class=" x-panel x-component x-border-panel" id="x-auto-9" style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; LEFT: 224px; BORDER-BOTTOM-WIDTH: 0px; WIDTH: 1054px; TOP: 35px; BORDER-RIGHT-WIDTH: 0px"> 
     <DIV class="x-panel-bwrap"><DIV class="x-panel-body x-panel-body-noheader" style="WIDTH: 1054px; HEIGHT: 775px" __eventBits="16384"> 
      <DIV class=" x-tab-panel x-component" id="x-auto-17" hideFocus style="WIDTH: 1052px" __eventBits="6909"> 
      <DIV class="x-tab-panel-header x-unselectable" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; WIDTH: 1052px" unselectable="on"> 
       <DIV class="x-tab-strip-wrap" style="WIDTH: 1052px" role="presentation"> 
       <UL class="x-tab-strip x-tab-strip-top"> 
        <LI class="x-tab-strip-closable x-component x-tab-strip-active " id="x-auto-17__x-auto-180" hideFocus style="MozOutline: none" __eventBits="125" role="tab"> 
        <A class="x-tab-strip-close" role="presentation"></A> 
        </LI> 
       </UL> 
       </DIV> 
      </DIV> 
      </DIV> 
     </DIV>  
     </DIV> 
    </DIV> 
    </DIV> 
</BODY> 
</HTML> 

我不能夠點擊與<A>標籤具有類屬性的對象。我嘗試過使用三種不同的方式

1. ie.link(:class,"x-tab-strip-close").click 
2. ie.li(:class,"x-tab-strip-closable x-component x-tab-strip-active ").link(:class,"x-tab-strip-close").click 
3. ie.li(:xpath,"//li[@class='x-tab-strip-close']").click 

所有這三種類型導致元素未找到異常。請讓我知道如何點擊元素。

+0

僅供參考在鏈接中沒有圖像,鏈接實際上是空的。你所看到的最有可能是一個'背景圖像',放在那裏爲這個特定的類由CSS –

回答

0

嘿只是試圖做這樣的事情

.link(:class, "x-tab-strip-closable x-component x-tab-strip-active").exist? == true 
     begin 
      browser.link(:class, "x-tab-strip-closable x-component x-tab-strip-active").click 

      rescue => e 
       rescueHandle(e) 
      end 
else 
    puts "FAILED! Could not find Class for Component" 
     return false 
    end 

我想你會結識更多的,如果一些錯誤的存在。

+0

'瀏覽器'在瀏覽器對象的意義上'ie' – Kris

+0

謝謝你的答覆,但.exist?正在返回false,即開發人員顯示在html下面 – Manjunath

+0

我無法在此處粘貼所有即開發人員工具輸出。我可以在這個論壇上添加一個文件嗎?我也可以將你的代碼發送給你的電子郵件,如果你想要我.. – Manjunath

0

這應該與您所提供的HTML工作:

browser.link(:class => "x-tab-strip-close").click 

如果你得到「未找到元素」檢查鏈接是在框架中。這也可能是一個計時問題,當你正在尋找它時,鏈接不在那裏。

+0

ie.link(:class,「x-tab-strip-close」)。exists?返回true,但ie.link(:class,「x-tab-strip-close」)。visible?返回false。我清楚地看到了這個元素,我不知道爲什麼.visible?應該返回false。使用QTP 9.5嘗試了相同的活動,使用相同的屬性併成功單擊元素。我們的應用程序沒有**框架**,但它使用很多**面板** – Manjunath

+0

對此有何更新? – Manjunath

0

這看起來像是一些自定義選項卡控件的一部分,它使用了大量運行在客戶端上的CSS和JavaScript。我可以在具有相似類名的Sencha「Ext JS」社區論壇中找到一些帖子。看他們的一些samples

與任何有很多客戶端代碼在做CSS和其他魔術的頁面一樣,您可能需要在加載頁面後等待一兩秒鐘以執行客戶端代碼。所以這將是我會嘗試的第一件事情之一。

如果沒有,我注意到很多標籤代碼正在創建onmouseover事件,並且當我使用鼠標懸停選項卡時,DOM的內容會隨時更改,因此您可能必須查看是否可以先啓動「在嘗試點擊該項目之前發生「on-mouseover」事件,可能會將其從可點擊的狀態帶入。

其他具有類似標籤名稱的人是'EXT.NET'我再次可以在他們的論壇中找到這些類名出現的東西。我還可以在他們的一些標籤的例子頁面找到這個例子(這是一個關閉標籤的按鈕)。關於等待或首先嚐試創建小組的類似建議也適用於此。

如果首先發起事件不起作用,並且我對控件的來源是否正確,請看看您是否可以在他們的示例/示例中的某個位置找到控件,如果是這樣,請發佈鏈接,以便讓這裏的人們與這種風格的控制相互作用,併爲我們提供了一個更好的機會來弄清楚是什麼使它變得敏捷。

我們在Watir谷歌集團幾個月前還有一個similar request,但原始海報(「Mahesh」)從未回覆過潛在答案,因此不知道他們是否/如何解決問題。

+0

感謝您的信息。我能夠找到我的控件的源代碼[Tab Scroller Menu Plugin](http://dev.sencha.com/deploy/ext-4.0.2a/examples/tabs/tab-scroller-menu.html)。我的要求是關閉標籤。希望這有助於 – Manjunath

+0

任何人都可以爲此提供解決方案嗎?正如我已經發布的,我發現我的控制源([鏈接](http://dev.sencha.com/deploy/ext-4.0.2a/examples/tabs/tab-scroller-menu.html)),之後沒有任何進展(我仍然無法關閉標籤控件)。如果沒有很快找到解決方案,那麼我們可能不得不放棄在我們的項目中使用WATIR :( – Manjunath

+0

對不起,我忙於求職然後開始一個新的職位。當我與你提供的代碼交互時,我注意到當我將鼠標移動到其上時,關閉選項卡的小x圖標會發生反應併發生更改,這意味着它正在做一些與mouseover事件有關的事情,它可能正在做的一件事是更改對象的可見性。首先嚐試針對該元素髮起onmouseover事件,等待一秒鐘讓任何客戶端代碼執行該操作,然後查看是否可以單擊該對象。 –