Hi,
Here is one more html.
----------
$ie.frame("mainFrame").table(:id, /tblMain/i).cells.each { |l|
if l.text_field(:name, "hostName").exists? then
puts "Flashing input box\n"
l.text_field(:name, "hostName").flash
end
}
Flashing input box
Flashing input box
Flashing input box
Flashing input box
Flashing input box
0
---------
irb says it found the field five times, but the html source has it listed
only once. It however flashesh the same input field.
Can somebody explain.
Thanks,
Manish
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>iManager</title>
<link href="styles/c1.css" rel="stylesheet" type="text/css">
<link href="styles/css.css" rel="stylesheet" type="text/css">
<link href="styles/c01.css" rel="stylesheet" type="text/css">
<link href="styles/ddmenu.css" rel="stylesheet" type="text/css">
<link href="styles/temp.css" rel="stylesheet" type="text/css">
<style type="text/css">
.dTree * IMG { border:0; }
.exampleFormat { color:#003399; }
.errorFormat { color:#cc0000; }
#alias_type_format TT SPAN { background-color:#ECF0F4; padding:0 3px }
</style>
<!-- css styles end -->
<script language="javascript"> var imageUrl ="images/"; </script>
<!-- include js begin -->
<script language="javascript" src="js/ddmenu"></script><!-- calendar code --->
<script language="javascript" src="js/popcalendar"></script>
<script language="javascript" src="js/listcopyitems.js"></script>
<script language="javascript" src="js/temp.js"></script>
<script language="javascript" src="js/treejs.js"></script>
<script language="javascript" src="js/retreef.js"></script>
<script language="javascript" src="js/dtree.js"></script>
<script language="javascript">
/*
label= (match pattern) ^^ [+|-] ^^ (example format)
+ = replace all whitespaces with line break
- = replace all spaces with single space, keep the linebreaks
*/
var formatUserInputBox = true;
function getSelectedItemType(o)
{
var selectedIndex = -1;
var selected = false;
for(var i=0; i<o.options.length;i++)
{
if(o.options[i].selected) {
var s = o.options[i];
document.getElementById('alias_selected_item_type').innerHTML = s.value.substring(s.value.indexOf(":")+1).replace(/_/g," ");
break;
}
}
}
function Trim(str)
{
var singleSpacing = (Trim.arguments.length==2);
if(typeof(str)=='object')
{
if(!str.value) return;
if(singleSpacing)
str.value = str.value.replace(/^\s+/g, '').replace(/\s+$/g, '');
else
str.value = str.value.replace(/^\s+/g, '').replace(/\s+$/g, '').replace(/ {2,}/g, ' ');
}
else
{
if(singleSpacing)
return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
else
{
return str.replace(/^\s+/g, '').replace(/\s+$/g, '').replace(/ {2,}/g, ' ');
}
}
}
function resetFormatStyle()
{
document.getElementById('alias_type_format').className='exampleFormat';
showFormat(document.getElementById('SELECT_ALIAS_ITEM_TYPE'));
}
function testContent(v)
{
if (v==null || v.length=='undefined') return false;
//window.status = v.length;
var aliastype = document.getElementById("SELECT_ALIAS_ITEM_TYPE");
var aliastypeInd = aliastype.selectedIndex;
var ptn = aliastype.options[aliastypeInd].label;
var ptn = ptn.substring(0, ptn.indexOf(" ^^ "));
var re = new RegExp(ptn, "g");
v = Trim(v);
if(!v.match(re))
{
document.getElementById("alias_type_format").className = "errorFormat";
return false;
}
return true;
}
function showFormat(o)
{
var i = o.selectedIndex;
var s = o.options[i].label;
var t = s.substring(s.lastIndexOf(" ^^ ")+4);
document.getElementById("alias_type_format").innerHTML = "example:<br><tt>" + unescape(t) + "</tt>";
document.forms[0].INPUT_ALIAS_ITEM_LIST.focus();
}
function transformAll(strTmp, trans)
{
var arr = trans.split("~");
var evalStr = "";
for(var i=0; i<arr.length; i++)
{
evalStr = "strTmp=strTmp.replace("+arr[i]+")";
eval(evalStr);
}
return strTmp;
}
function transformSpaces(str, trans)
{
var pattern = "";
var strTmp = "";
if(typeof(str)=='object')
{
if (str.value) strTmp = str.value;
}
else
strTmp = str;
var x = '@ = @.replace(/{}/g,"{}")';
x = x.replace(/@/g,"strTmp");
if(trans=="-" || trans=="+")
{
if(trans=="+")
x = x.replace(/\{\}/,"\\s+").replace(/\{\}/,"\\r\\n");
else
{
x = x.replace(/\{\}/," {2,}").replace(/\{\}/," ").replace(/\r\n\s+/g,"\\r\\n").replace(/\s+\r\n/g,"\\r\\n");
}
eval(x);
return strTmp;
}
else
if(trans.length>0) return transformAll(strTmp, trans);
return "";
}
function getStrTransformation(o)
{
var s = o.options[o.selectedIndex].label;
if(s.match(/\s+$/)) formatUserInputBox = false; else formatUserInputBox = true;
var re = new RegExp(/^.* \^\^ (.+) \^\^ .*$/);
if(s.match(re))
{
s = s.replace(re,"$1");
return s;
}
return null;
}
function addToAlias()
{
var aliaslist = document.getElementById("LIST_ALIAS_ITEMS");
if( (addToAlias.arguments.length==1 && addToAlias.arguments[0]==true) )
{
/* Add another alias item */
var inputaliasitems = document.getElementById("SELECT_EXISTING_ALIAS_ITEM");
var i = inputaliasitems.selectedIndex;
var sType = "EXISTING_ALIAS-";
var sValue = inputaliasitems.options[i].text;
if( !itemInTargetList( aliaslist, new Option( sType + " " + sValue, sType + sValue ) ) )
insertItemIn( aliaslist, sType + " " + sValue, sType + sValue );
else
alert('item is already in the list');
}
else
{
/* Add item, not an alias item */
var inputaliasitems = document.getElementById("INPUT_ALIAS_ITEM_LIST");
var aliastype = document.getElementById("SELECT_ALIAS_ITEM_TYPE");
var aliastypeInd = aliastype.selectedIndex;
var sType = aliastype.options[aliastypeInd].value + "-";
var sValue = inputaliasitems.value;
if(Trim(sValue).length<1) { alert('Please paste or enter IP Address to match the selected Attribute Type'); return; }
var strTransformation = getStrTransformation(aliastype);
if( strTransformation ) { sValue = transformSpaces(sValue, strTransformation); }
sValue = Trim(sValue);
if( formatUserInputBox ) inputaliasitems.value = sValue;
if ( testContent(sValue) )
{
var arrItems = sValue.split("\r\n");
var n = arrItems.length;
for(var i=0; i<n; i++)
{
if( !itemInTargetList( aliaslist, new Option(sType+" "+arrItems[i], sType+arrItems[i])) )
{
insertItemIn( aliaslist, sType+" "+arrItems[i], sType+arrItems[i] );
arrItems[i]=null;
}
}
inputaliasitems.value = sValue = "";
for(var i=0; i<n; i++)
if(arrItems[i]!=null) sValue += arrItems[i] + "\r\n";
if(sValue.length!=0) { inputaliasitems.value = sValue; alert("items already exist in the list"); }
}
else
{
alert('Incorrect IP Address format encountered.\nPlease paste or enter IP Address to match the selected Attribute Type.');
inputaliasitems.focus();
}
}
}
function SelectAll(Selectbox) {
for (var i=0; i<Selectbox.length; i++)
Selectbox[i].selected = true
}
</script>
</head>
<body>
<div id="infobar">
<div class="rsummaryh" style="padding:6px;"> Alias Groups </div>
<div id="breadcrumb"><a href="javascript:void(0)">Home</a> > Admin > Alias Groups > Add New Alias </div>
</div>
<div id="mcontent">
<table id="tblMain" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td id="dnavCol" width="160" valign="top" style="border-right:8px solid white">
<!-- LEFT NAV -->
<div class="btnopenldap">
<div id="listname" onClick="toggleList(this.parentNode)" onMouseOver="this.style.color='#006699'" onMouseOut="this.style.color='#8C8C8C'">Alias Groups</div>
<div id="nitemlist" class="oVisible">
<div class="btnaddldap" onClick="location.href='/devicemgr/RePreCreateAlias.do'" onMouseOver="this.style.color='#006699'" onMouseOut="this.style.color='#8C8C8C'">Add New Alias</div>
</div>
<div style="height:44px;width:100%"> </div></td>
<td width="100%" valign="top" id="mCol"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="tbltabs">
<tr>
<td class="tabuppr"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td nowrap class="tabactivebtn2" style="white-space:nowrap;width:140px">Alias Groups</td>
<td> </td>
</tr>
</table></td>
</tr>
<tr>
<td class="tablwr"><img src="images/spacer.gif" width="1" height="3"></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="10" cellpadding="0">
<tr>
<td> <form name="ReAliasCreateActionForm" method="post" action="/devicemgr/ReCreateAlias.do">
<input type="hidden" name="methodToCall" value="createAlias">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="1%"> </td>
<td width="93%"><table height="15" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="navbg"> </td>
</tr>
</table>
<div class="navbg" style="margin:5px 10px 6px 10px"><strong>New Alias</strong></div>
<table width="90%" border="0" cellpadding="0" cellspacing="0" class="tbluserform">
<tr>
<td width="13" class="tbluformtl"><img src="images/spacer.gif" width="13" height="13"></td>
<td class="tdt"><img src="images/spacer.gif" width="1" height="1"></td>
<td width="13" class="tbluformtr"><img src="images/spacer.gif" width="13" height="13"></td>
</tr>
<tr>
<td class="tdl"><img src="images/spacer.gif" width="1" height="1"></td>
<td><table width="100%" border="0" cellspacing="6" cellpadding="0">
<tr>
<td valign="top" align="right">Alias name:</td>
<td valign="top"><input type="text" name="hostName" size="4" value="" style="width:100%"></td>
<td width="250" height="450" rowspan="5" valign="top" bgcolor="#ECF0F4" style="border-left:1px solid #7F9DB9; padding-left:6px" align="center"><table width="100%" height="24" border="0" cellpadding="0" cellspacing="0">
<tr>
<td id="alias_selected_item_type" style="font-family:courier new, courier, mono">Items added</td>
</tr>
</table>
<select name="selectedAliases" multiple="multiple" size="40" onchange="getSelectedItemType(this)" id="LIST_ALIAS_ITEMS" style="width:100%;height:400px; border:1px solid #ccc;padding:4px"></select>
<div style="white-space:nowrap"><img src="images/btndelete.gif" width="66" height="22" onClick="document.getElementById('alias_selected_item_type').innerHTML=' ';if(confirm('Delete this item from the list?')) deleteSelectedItems(document.getElementById('LIST_ALIAS_ITEMS'));">
<img src="images/btndeleteall.gif" width="83" height="22" onClick="document.getElementById('alias_selected_item_type').innerHTML=' ';if(confirm('Delete all items in the list?')) deleteAllItems(document.getElementById('LIST_ALIAS_ITEMS'));"></div></td></tr>
<tr>
<td valign="top" align="right">Description:</td>
<td valign="top"><input type="text" name="hostDesc" size="4" value="" style="width:100%"></td>
</tr>
<tr>
<td valign="top" align="right"> </td>
<td valign="top"> </td>
</tr>
<tr>
<td><img src="images/spacer.gif" width="1" height="1"></td>
<td bgcolor="#D6D6D6"><img src="images/spacer.gif" width="1" height="1"></td>
</tr>
<tr>
<td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="24" align="right">Attribute Type:</td>
</tr>
<tr>
<td height="24"> </td>
</tr>
<tr>
<td height="24" align="right"> </td>
</tr>
<tr>
<td height="24" align="right">Enter or paste values: </td>
</tr>
<tr>
<td height="24"> </td>
</tr>
<tr>
<td height="24"> </td>
</tr>
<tr>
<td height="24"> </td>
</tr>
</table></td>
<td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6" height="24" valign="top"><select id="SELECT_ALIAS_ITEM_TYPE" name="SELECT_ALIAS_ITEM_TYPE" onChange="showFormat(this)">
<option value="IP" label="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((\r\n)+(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$ ^^ + ^^ 64.38.1.1 ">IP</option>
<option value="IP_SUBNET" label="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/([1-9]|1\d|2\d|3[0-2])((\r\n)+(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/([1-9]|1\d|2\d|3[0-2]))*$ ^^ + ^^ 64.38.1.1/8 ">IP/Subnet Mask</option>
<option value="IP_RANGE" label="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)-(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\s+(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)-(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$ ^^ + ^^ %3Cspan%3E64.230.1.1%3C/span%3E-%3Cspan%3E64.230.1.1%3C/span%3E ">IP Range</option>
</select></td>
</tr>
<tr>
<td id="alias_type_format" height="30" valign="bottom" class="exampleFormat">^... please choose type</td>
</tr>
<tr>
<td height="24" valign="top" align="right"><img src="images/btnAddgroup.gif" alt="Add >>" width="64" height="21" onClick="addToAlias()"></td>
</tr>
<tr>
<td height="24" valign="top"><textarea name="INPUT_ALIAS_ITEM_LIST" rows="10" id="INPUT_ALIAS_ITEM_LIST" style="width:100%" title="paste or type data here" onBlur="Trim(this);testContent(this.value)" onFocus="resetFormatStyle()">
</textarea></td>
</tr>
<tr>
<td height="24" valign="top"> </td>
</tr>
<tr>
<td valign="top" bgcolor="#D6D6D6"><img src="images/spacer.gif" width="1" height="1"></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="24">Existing Alias Groups</td>
<td width="70"> </td>
</tr>
<tr>
<td><select name="aliases" id="SELECT_EXISTING_ALIAS_ITEM"></select></td>
<td width="70" align="right"><img src="images/btnAddgroup.gif" alt="Add >>" width="64" height="21" onClick="addToAlias(true)"></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="6" cellpadding="0">
<tr bgcolor="#D6D6D6">
<td width="120" colspan="2" bgcolor="#D6D6D6"><img src="images/spacer.gif" width="1" height="1"></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="6" cellpadding="0">
<tr>
<td> </td>
<td width="55%"> </td>
</tr>
<tr>
<td colspan="2" align="center"><input type="image" name="submit" src="images/savexbtn.gif" onclick="SelectAll(selectedAliases);" title="Save" alt="Save"> <a href="/devicemgr/RePreShowAliasList.do"><img src="images/cancelbtn.gif" width="103" height="21" border="0"></a></td>
</tr>
</table></td>
<td class="tdr"><img src="images/spacer.gif" width="1" height="1"><img src="images/spacer.gif" width="1" height="1"><img src="images/spacer.gif" width="8" height="8"></td>
</tr>
<tr>
<td class="tbluformbl"><img src="images/spacer.gif" width="13" height="13"></td>
<td class="tdb"><img src="images/spacer.gif" width="13" height="13"></td>
<td class="tbluformbr"><img src="images/spacer.gif" width="13" height="13"></td>
</tr>
</table></td>
</tr>
</table>
</form></td>
</tr>
</table></td>
</tr>
</table>
</div>
</body>
</html>
_______________________________________________
Wtr-general mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/wtr-general