2010-02-15 2 views
0

여기 누군가가 도와 주길 바랍니다. 메신저를 사용하여 클릭하면 캘린더가 표시되는 이미지가있는 페이지를 테스트합니다. 나는 이미지를 클릭하는 것만으로도 얻을 수있다.Selenium RC - Selenium IDE에서 테이블 셀을 찾는데 어려움이 있습니다.

나는 Selenium IDE를 사용하여 위의 경로를 얻었다. 문제는 일단 내가 위의 이미지를 클릭하면 Selenium IDE는 달력이 표시된 후에 클릭 한 것을 기록하지 않습니다. 여기

이미지 버튼 불행하게도

<INPUT size='8' CLASS="field-date" TYPE="text" NAME="endQtrDate" VALUE="01/10/2004" ID="endQtrDate" onBlur="this.value=validateFieldValue(this.value,'date_error','endQtrDate',this.form)" onFocus="this.select()" TITLE="Enter date in format dd/mm/yyyy" /> 
    <IMG ALIGN="absmiddle" ALT="Press to show calendar picker" NAME="calendarButton" SRC="../images/buttons/small/calendar.gif" onClick="return showCalendar('endQtrDate', 'dd/MM/yyyy');" /> 

내가 그것을 클릭 한 후 전 일정에 대한 코드를 볼 수 없습니다 코드입니다. 내가 볼 수있는 유일한 방법은 mozilla 플러그인 "Firebug"를 사용하는 것입니다. 나는 달력이 표시되는 div 레이어를 얻을 수 있었다.

<div class="calendar" 
    style="position: absolute; display: none; left: 234px; top: 416px;"> 
<table cellspacing="0" cellpadding="0"> 
<thead> 
    <tr> 
    <td colspan="1" class="button">-</td> 
    <td colspan="6" class="title" style="cursor: move;">October, 
    2004</td> 
    <td colspan="1" class="button">×</td> 
    </tr> 
    <tr class="headrow"> 
    <td colspan="1" class="button">«</td> 
    <td colspan="1" class="button">‹</td> 
    <td colspan="4" class="button">Today</td> 
    <td colspan="1" class="button">›</td> 
    <td colspan="1" class="button">»</td> 
    </tr> 
    <tr class="daynames"> 
    <td class="name wn">wk</td> 
    <td class="day name">Mon</td> 
    <td class="day name">Tue</td> 
    <td class="day name">Wed</td> 
    <td class="day name">Thu</td> 
    <td class="day name">Fri</td> 
    <td class="name day weekend">Sat</td> 
    <td class="name day weekend">Sun</td> 
    </tr> 
</thead> 
<tbody> 
    <tr class="daysrow"> 
    <td class="day wn">40</td> 
    <td class="day">&nbsp;</td> 
    <td class="day">&nbsp;</td> 
    <td class="day">&nbsp;</td> 
    <td class="day">&nbsp;</td> 
    <td class="day">1</td> 
    <td class="day weekend">2</td> 
    <td class="day weekend">3</td> 
    </tr> 
    <tr class="daysrow"> 
    <td class="day wn">41</td> 
    <td class="day">4</td> 
    <td class="day">5</td> 
    <td class="day">6</td> 
    <td class="day">7</td> 
    <td class="day">8</td> 
    <td class="day weekend">9</td> 
    <td class="day weekend">10</td> 
    </tr> 
    <tr class="daysrow"> 
    <td class="day wn">42</td> 
    <td class="day">11</td> 
    <td class="day">12</td> 
    <td class="day">13</td> 
    <td class="day">14</td>  
    <td class="selected day">15</td> 
    <td class="day weekend">16</td> 
    <td class="day weekend">17</td> 
    </tr> 
    <tr class="daysrow"> 
    <td class="day wn">43</td> 
    <td class="day">18</td> 
    <td class="day">19</td> 
    <td class="day">20</td> 
    <td class="day">21</td> 
    <td class="day">22</td> 
    <td class="day weekend">23</td> 
    <td class="day weekend">24</td> 
    </tr> 
    <tr class="daysrow"> 
    <td class="day wn">44</td> 
    <td class="day">25</td> 
    <td class="day">26</td> 
    <td class="day">27</td> 
    <td class="day">28</td> 
    <td class="day">29</td> 
    <td class="day weekend">30</td> 
    <td class="day weekend">31</td> 
    </tr> 
    <tr class="emptyrow"> 
    <td class="day wn">36</td> 
    <td class="day">30</td> 
    <td class="day">31</td> 
    <td class="day">&nbsp;</td> 
    <td class="day">&nbsp;</td> 
    <td class="day">&nbsp;</td> 
    <td class="day">&nbsp;</td> 
    <td class="day">&nbsp;</td> 
    </tr> 
</tbody> 
<tfoot> 
    <tr class="footrow"> 
    <td colspan="8" class="ttip" style="cursor: move;">Select date</td> 
    </tr> 
</tfoot> 
</table> 
<div class="combo" style="display: none;"> 
<div class="label">Jan</div> 
<div class="label">Feb</div> 
<div class="label">Mar</div> 
<div class="label">Apr</div> 
<div class="label">May</div> 
<div class="label">Jun</div> 
<div class="label">Jul</div> 
<div class="label">Aug</div> 
<div class="label">Sep</div> 
<div class="label">Oct</div> 
<div class="label">Nov</div> 
<div class="label">Dec</div> 
</div> 
<div class="combo" style="display: none;"> 
<div class="label"></div> 
<div class="label"></div> 
<div class="label"></div> 
<div class="label"></div> 
<div class="label"></div> 
<div class="label"></div> 
<div class="label"></div> 
<div class="label"></div> 
<div class="label"></div> 
<div class="label"></div> 
<div class="label"></div> 
<div class="label"></div> 
</div> 
</div> 

주의 깊게 보면 1에서 30까지의 날짜에 대해 표 셀이 표시됩니다. Selenium을 사용하여이 값에 어떻게 액세스합니까? 캘린더가 튀어 나오면 아무 것도 녹음하지 않아서 IDE를 사용할 수 있습니다.

방화 광 장치에는 모든 태그의 xpath를 표시하는 옵션이 있습니다. 나는 td 태그 중 하나에서 그것을 시도하고 이것이 xpath라고 말한다.

/html/body/div/table/thead/tr[2]/td[3]

내가 그 값을 결정하기 위해 위의 경로를 사용할 수 다음 셀레늄을 사용하여 클릭?

감사

답변

2

click | calendarButton를 사용할 수있는 이미지를 클릭하여 그 당신을 위해 그것을로드해야합니다.

거기에서 다음에 방화 광구를 사용하여 페이지의 다른 항목을 볼 수있는 항목을 클릭해야합니다. 추가 정보에서

편집 : 당신이 다음해야 할 일은

인터넷 익스플로러와 같은 브라우저에서 훨씬 더 빨리 css=td.day:contains('14')

하는 CSS 경로가 될 것입니다 XPath는 또는 CSS를 사용 xpath=//td[@class="day" and text()="14"]을 사용하는 것입니다

+0

나는 cssLocator가 XPath can처럼 'contains'를 할 수 있다는 것을 몰랐다. 헤즈 업에 감사드립니다. – djangofan

관련 문제