从JS下拉菜单中选择项目

时间:2013-06-28 23:54:48

标签: drop-down-menu watir

Watir的新手,并尝试在无序的JS列表中选择项目。我正在使用watir-classic并在IE中使用Ruby v1.9.3p392进行测试。

<div id="ctl00_content" style="text-align: left; background: #fff;">
 <script type="text/javascript"> … </script>
 <div id="ctl00_breadCrumb" class="navBar"> … </div>
 <div id="ctl00_menuBarUpdatePanel">
  <div id="ctl00_menuBar" class="menuBar">
   <table width="100%" cellspacing="0" cellpadding="0" border="0">
    <tbody>
     <tr>
      <td>
       <div class="menu">
        <ul>
         <div id="ctl00_MenuBarButtons" class="menuBarButtons">
          <li id="ctl00_AddMenu" style="display:inline;"> … </li>
          <li id="ctl00_ChangeCustodyMenu" style="display:inline;">
             Change Custody
           <ul>
            <li id="ctl00_CheckInMenuItem" style="display:inline;">
            <li id="ctl00_CheckOutMenuItem" style="display:inline;">
            <li id="ctl00_ReceiveMenuItem" style="display:inline;">
            <li id="ctl00_ReturnMenuItem" style="display:inline;">  
            <li id="ctl00_DropOffMenuItem" style="display:inline;">
              <a onclick="window.location = '/WebSite/PropertyItems.aspx?action=dropOff'; return false;" href="">
                Drop-off

我正在尝试选择Drop-off(列表中的最后一项)并尝试使用以下内容:

browser.ul(:id,"ctl00_ChangeCustodyMenu").li(:text,"Drop-off").click 
browser.div(:id, "ctl00_MenuBarButtons").li(:index, 1).link(:index, 4).click

...但后来读到我不能在Watir中选择项目,除非我能看到它。我开始使用fire_event(“onclick”)测试以下提示:“我首先需要fire_event(”onmouseover“)选择项目然后选择fire_event(”onclick“)。”

所以我试试这个:

browser.li(:id,"ctl00_ChangeCustodyMenu").fire_event("onclick")  

此方法将闪烁“更改保管”菜单,但不会使用“下拉”项目下拉列表。因此,我无法选择列表中的项目。一旦用户在正常操作中将鼠标悬停在菜单上,“更改保管”列表将会删除。

如何选择JS下拉列表并选择无序列表中的项目?我是否需要使用webdriver的select_list,或者我只是遗漏了什么? Watir-classic似乎很直接,应该处理这个问题,但也许这里的JS结构很棘手。

感谢您的帮助!

香农

Menu

0 个答案:

没有答案