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结构很棘手。
感谢您的帮助!
香农