2014-10-05 80 views
0

感謝您花時間準備我的問題。我需要鼠標懸停,然後在圖像(cog.png)上對圖像右側的文本表示的特定節點子進行壓縮。我可以成功定位課程,但無法解決如何單獨定位圖像的問題。Selenium mouseOver在使用DynaTree的子節點上的圖像

HTML,我想目標附近的硒IDE '澳大利亞'

<div id="tree" class=""> 
<ul class="dynatree-container dynatree-no-connector"> 
    <li class="dynatree-lastsib"> 
     <span class="dynatree-node dynatree-expanded dynatree-has-children dynatree-lastsib dynatree-exp-el dynatree-ico-e"></span> 
     <ul style=""> 
      <li class=""> 
       <span class="dynatree-node dynatree-exp-c dynatree-ico-c" style="background-color: transparent;"> 
        <span class="dynatree-connector"></span> 
        <img alt="" src="/icn/cog.png"></img> 
        <a class="dynatree-title" title="This option is Active" href="#"> 
         Australia 
        </a> 
       </span> 

目標代碼cog.png(其目標爲滿量程,我只是想形象cog.png)

//span[contains(@class,'dynatree-node') and //img[@src='/icn/cog.png'] and .//text()='Australia'] 

我試圖

//img[@src='/icn/cog.png'] 

毫不奇怪這是不夠具體和有針對性的IM的第一個實例年齡

版本

  • 火狐32.0.3
  • 硒IDE:2.7.0

回答

0

這是我以前在dynatree導航代碼,它WSA變得更加困難,因爲第一個項目是作爲孩子添加的,其餘的則添加到孩子的下方或上方。我通過創建「計數」來確定項目在什麼時候添加。

<tr> 
    <td>waitForTextPresent</td> 
    <td>Australia</td> 
    <td></td> 
</tr> 
<tr> 
    <td>click</td> 
    <td>//span/a[contains(., '${LocationLevel1Ext}')]/preceding::span[@class='dynatree-expander'] [1]</td> 
    <td></td> 
</tr> 
<tr> 
    <td>click</td> 
    <td>//span/a[contains(., '${LocationLevel2Ext}')]/preceding::span[@class='dynatree-expander'] [1]</td> 
    <td></td> 
</tr> 
<tr> 
    <td>clickAt</td> 
    <td>//span/a[contains(., '${PreviousLocationName}')]/preceding::img[@src='/icn/cog.png'] [1]</td> 
    <td></td> 
</tr> 
<tr> 
    <td>waitForTextPresent</td> 
    <td>Add before this node</td> 
    <td></td> 
</tr> 
<tr> 
    <td>mouseOver</td> 
    <td>//span[contains(text(), 'Add before this node')]</td> 
    <td></td> 
</tr> 
<tr> 
    <td>mouseDown</td> 
    <td>//span[contains(text(), 'Add before this node')]</td> 
    <td></td> 
</tr> 
相關問題