1

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")  

此方法将闪烁“更改监护权”菜单,但不会通过“下拉”项下拉列表。因此,我无法选择列表中的项目。一旦用户在正常操作中将鼠标悬停在菜单上,Change Custody 列表就会下降。

如何选择JS下拉列表并选择无序列表中的项目?我需要使用 webdriver 的 select_list,还是我只是错过了什么?Watir-classic 看起来很简单,应该可以处理这个问题,但这里的 JS 结构可能很棘手。

谢谢您的帮助!

香农

菜单

4

0 回答 0