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