Drop down menu 从JS下拉菜单中选择项目

Drop down menu 从JS下拉菜单中选择项目,drop-down-menu,watir,Drop Down Menu,Watir,Watir新手,尝试在无序JS列表中选择项目。我正在用Ruby v1.9.3p392在IE中使用watir classic并进行测试 <div id="ctl00_content" style="text-align: left; background: #fff;"> <script type="text/javascript"> … </script> <div id="ctl00_breadCrumb" class="navBar"> …

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

<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
。。。但接着读到,除非我能看到,否则我不能在Watir中选择项目。我开始用fire_事件(“onclick”)进行测试,提示如下:“我首先需要fire_事件(“onmouseover”),它选择项目,然后fire_事件(“onclick”)。”

所以我试着这样做:

browser.li(:id,"ctl00_ChangeCustodyMenu").fire_event("onclick")  
此方法将闪烁“更改保管”菜单,但不会使用“下拉”项下拉列表。因此,我无法选择列表中的项目。在正常操作中,一旦用户将鼠标悬停在菜单上,更改保管列表将下降

如何选择JS下拉列表并在无序列表中选择项目?我是否需要使用webdriver的选择列表,或者我只是缺少了什么?Watir classic看起来很直截了当,应该可以处理这个问题,但JS结构在这里可能很棘手

谢谢你的帮助

香农


您知道下拉列表要查找什么事件吗?如果您使用的是watir webdriver,您可以尝试使用
hover
方法。听起来我只需要添加watir webdriver并更改脚本,这样我就可以在单击时使用
hover
等方法,因为watir classic对于某些JS函数不够健壮。我来换一下,然后跟进。谢谢。应该可以让它与watir classic一起使用。问题总是在于弄清楚你的应用程序在寻找什么。如果您创建一个可运行的示例(例如在JSFIDLE上),它将使帮助变得更容易。因此我不确定这个理论,但我无法在Ruby v1.9.3p392中使用watir classic时删除此列表。Justin推荐了watir webdriver,但我仍然有问题。因此,我使用watir webdriver升级到Ruby v2.0.0p247,现在可以使用
悬停
火灾事件('onClick')
。也许Ruby v1.9.3p392或其他版本中存在问题,但是使用Ruby v2 w/webdriver似乎是可行的!再次感谢。
browser.li(:id,"ctl00_ChangeCustodyMenu").fire_event("onclick")