jazznaura
08-30-2012, 01:04 PM
hi all,
im trying to login into a web page but the code i normally use doesn't work. I tried different methods i found on this site and many others, with no success.
please help :dunno :dunno
my code
Dim htmlDoc As HTMLDocument, oBrowser As InternetExplorer
Dim oHTML_Element As IHTMLElement, sURL As String
Sub SetTargets()
sURL = "http://tesco.activemanagement.com/home/frameset.aspx"
Set oBrowser = New InternetExplorer
oBrowser.Visible = True
oBrowser.navigate sURL
Do
Loop Until oBrowser.ReadyState = READYSTATE_COMPLETE
Set htmlDoc = oBrowser.Document
'##############################
'######### all the below fail ##########
'##############################
htmlDoc.forms("frmInput").elements("UserName").Value = "hello"
htmlDoc.frmInput.UserName.Value = "hello"
htmlDoc.all.frmInput("UserName").Value = "hello"
htmlDoc.all.Item("UserName").Value = "hello"
htmlDoc.forms(0).all("UserName").Value = "hello"
htmlDoc.getElementById("UserName").Value = "hello"
htmlDoc.all.UserName.Value = "hello"
End Sub
i either get 'Object variable or with block variable not set' or 'Object doesn't support this property or method'.
Can someone please point me in the right direction :(
source code for page
<!
DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<
html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<META name="ATMSVersionNumber" content="">
<title>Isotrak</title>
<link rel="stylesheet" type="text/css" href="../cssv3/default.css">
<style type="text/css">
#page {
width: 370px;
}
</style><script language="javascript">
var contentHeightAdjustment = 0;
//The timeline svg is a constant now so we just have to
//take 486 off the avilable page height to work out the height of the scroller
var scrollDifferenceFromAvailableHeight = 500;
function fnSetContentSize() {
var el_scroller = document.getElementById('scroller');
var el_page = document.getElementById('page');
var el_pageheader = document.getElementById('pageHeader');
var el_pagebody = document.getElementById('pageBody');
var el_pagefooter = document.getElementById('pageFooter');
var el_map = document.getElementById('map');
var el_ra_scroller = document.getElementById('ra_scroller');
if (el_page != null) {
var availableHeight = (document.all ? document.body.clientHeight : window.innerHeight) - 25;
var requiredHeight = el_page.offsetHeight;
contentHeightAdjustment = availableHeight - requiredHeight;
if (el_scroller != null) {
var h_scroller = el_scroller.offsetHeight;
if ((h_scroller + contentHeightAdjustment) > 0)
el_scroller.style.height = (h_scroller + contentHeightAdjustment) +
'px';
}
//Andy Postlethwaite
//ra_scroller is in routeanalysis
if (el_ra_scroller != null) {
var scrollHeight = 0;
var el_div_timeline = document.getElementById('divTimeline');
if (el_div_timeline != null)
{
scrollHeight = availableHeight - (el_div_timeline.offsetHeight + 200)
}
else
{
scrollHeight = availableHeight - scrollDifferenceFromAvailableHeight;
}
if(scrollHeight > 0)
{
el_ra_scroller.style.height = scrollHeight +
'px';
}
}
if (typeof(scrollerArray) == 'object') {
// determine type of scroller array
// default to 'v' - scrollers are arranged vertically down the page
// if any of the proportions are 100, set to 'h' - scrollers are arranged horizontally across the page
var scrollerType = 'v';
for (i = 0; i < scrollerArray.length; i += 2) {
if (scrollerArray[i+1] == 100) {
scrollerType =
'h';
break;
}
}
if (scrollerType == 'v') {
var total_h_userscroller = 0;
for (i = 0; i < scrollerArray.length; i += 2) {
var el_userscroller = document.getElementById(scrollerArray[i]);
if (el_userscroller != null) {
var h_userscroller = el_userscroller.offsetHeight;
total_h_userscroller += h_userscroller;
}
}
var avail_h_userscroller = (total_h_userscroller + contentHeightAdjustment > 0) ? total_h_userscroller + contentHeightAdjustment : 0;
for (i = 0; i < scrollerArray.length; i += 2) {
var el_userscroller = document.getElementById(scrollerArray[i]);
if (el_userscroller != null) {
var new_h_userscroller = Math.floor(avail_h_userscroller * parseInt(scrollerArray[i+1]) / 100);
if (new_h_userscroller > 0) {
el_userscroller.style.height = new_h_userscroller +
'px';
}
}
}
}
else {
var max_h_userscroller = 0;
for (i = 0; i < scrollerArray.length; i += 2) {
var el_userscroller = document.getElementById(scrollerArray[i]);
if (el_userscroller != null) {
var h_userscroller = el_userscroller.offsetHeight;
if (h_userscroller > max_h_userscroller) {
max_h_userscroller = h_userscroller;
}
}
}
var avail_h_userscroller = (total_h_userscroller + contentHeightAdjustment > 0) ? total_h_userscroller + contentHeightAdjustment : 0;
for (i = 0; i < scrollerArray.length; i += 2) {
var el_userscroller = document.getElementById(scrollerArray[i]);
if (el_userscroller != null) {
if ((max_h_userscroller + contentHeightAdjustment) > 0) {
el_userscroller.style.height = (max_h_userscroller + contentHeightAdjustment) +
'px';
}
}
}
}
}
if (el_map != null && el_page != null && el_pageheader != null && el_pagefooter != null) {
var w_page = el_page.offsetWidth;
var w_pagebody = (el_pagebody == null) ? 0 : el_pagebody.offsetWidth;
var h_map = availableHeight - el_pageheader.offsetHeight - el_pagefooter.offsetHeight - 10;
var w_map = w_page - w_pagebody - (document.all ? 5 : 25);
el_map.style.height = h_map +
'px';
el_map.style.width = w_map +
'px';
var mapurl = '';
var mapmode = '';
loadSVG(
'map', 'svgmap', mapurl + '?content=*.svg&w=' + w_map + '&h=' + h_map, w_map, h_map);
}
}
}
function fnResizeContent() {
// call resize logic twice ?!? - seems to be necessary for IE to resize reliably
fnSetContentSize();
fnSetContentSize();
}
function fnHideMenu() {
if(top.frames['TitleFrame'] != null)
{
top.frames[
'TitleFrame'].navbar_hidecurrent();
}
}
function fnOnKeypress() {
if (window.event.keyCode == 13 && document.getElementById('EventCode') != null) {
window.event.keyCode = 0;
process_login()
}
}
if (window.attachEvent) {
window.attachEvent(
'onload', fnSetContentSize);
window.attachEvent(
'onresize', fnResizeContent);
document.attachEvent(
'onclick', fnHideMenu);
document.attachEvent(
'onkeyup', fnOnKeypress);
}
else {
window.addEventListener(
'load', fnSetContentSize, false);
window.addEventListener(
'resize', fnSetContentSize, false);
document.addEventListener(
'click', fnHideMenu, false);
document.addEventListener(
'keyup', fnOnKeypress, false);
}
</script><script language="javascript" src="../scripts/sniffer__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/common__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/ieupdate__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/validation__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/AJAX__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/emailvalidation__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/pager__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/checkboxgroup__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/date-formatting__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/Workflow/justifytext__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/element-positioning__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/SensorObjects__6_1_0B_HF11.js"></script></head><script language="JavaScript">
if (parent.frames.length == 0)
{
if (window.name.indexOf("ISOPrint") == -1)
{ top.location =
'../default.aspx'; }
}
</script><script language="javascript" src="../scripts/md5__6_1_0B_HF11.js"></script><script Language="JavaScript">
function body_onload() {
document.frmInput.UserName.focus();
}
function process_login() {
var n = document.frmInput.UserPassword_Input.value.length;
document.frmInput.UserPassword.value = hex_md5(document.frmInput.UserPassword_Input.value);
document.frmInput.UserPassword_Input.value =
'********************'.substr(1,n);;
document.frmInput.eventCode.value =
'login';
document.frmInput.submit();
}
</script><body onload="body_onload()">
<iframe id="menuShim" src="javascript:false;" scrolling="no" frameborder="0" class="shim" xmlns:msxsl="urn:schemas-microsoft-com:xslt"></iframe>
<form id="frmInput" name="frmInput" method="post" action="../home/login_put.aspx"><input type="hidden" name="eventCode" id="eventCode" value=""><input type="hidden" name="UserPassword" id="UserPassword" value=""><div id="page">
<div id="pageHeader" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td><img alt="Isotrak Portal" title="Isotrak Portal" src="../images/default/hdnIsotrakPortal_EN.gif"></td><script language="javascript">
top.document.title =
'Isotrak Portal - Isotrak ATM';
</script><script language="javascript">setPageNumber('5006','AMLVEW06')</script></tr>
</table>
</div>
<div id="pageBody" style="text-align: center">
<table border="0" cellpadding="0" cellspacing="0" class="separator" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<tr>
<td width="13" valign="bottom"><img border="0" height="13" width="13" src="../images/default/imgHeaderDot.gif"></td>
<td> <span class="custsub">Login</span></td>
<td align="right"><span class="custsub-hilite"></span> </td>
</tr>
</table>
<div style="margin: 0 auto; width: 210px; padding: 15px 0;">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="30">
<td class="labelbold" width="80">Username</td>
<td><input name="UserName" id="UserName" type="text" maxlength="15" style="width: 125"></td>
</tr>
<tr height="30">
<td class="labelbold">Password</td>
<td><input name="UserPassword_Input" id="UserPassword_Input" autocomplete="off" type="password" maxlength="15" style="width: 125"></td>
</tr>
</table>
</div>
</div>
<div id="pageFooter" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td> </td>
<td align="right" id="pageFooterButtons"> <a href="javascript:process_login()"><img border="0" alt="enter" title="enter" src="../images/default/btnEnter_EN.gif"></a></td>
</tr>
</table>
</div>
</div>
</form>
</body>
</
html>
thanks
im trying to login into a web page but the code i normally use doesn't work. I tried different methods i found on this site and many others, with no success.
please help :dunno :dunno
my code
Dim htmlDoc As HTMLDocument, oBrowser As InternetExplorer
Dim oHTML_Element As IHTMLElement, sURL As String
Sub SetTargets()
sURL = "http://tesco.activemanagement.com/home/frameset.aspx"
Set oBrowser = New InternetExplorer
oBrowser.Visible = True
oBrowser.navigate sURL
Do
Loop Until oBrowser.ReadyState = READYSTATE_COMPLETE
Set htmlDoc = oBrowser.Document
'##############################
'######### all the below fail ##########
'##############################
htmlDoc.forms("frmInput").elements("UserName").Value = "hello"
htmlDoc.frmInput.UserName.Value = "hello"
htmlDoc.all.frmInput("UserName").Value = "hello"
htmlDoc.all.Item("UserName").Value = "hello"
htmlDoc.forms(0).all("UserName").Value = "hello"
htmlDoc.getElementById("UserName").Value = "hello"
htmlDoc.all.UserName.Value = "hello"
End Sub
i either get 'Object variable or with block variable not set' or 'Object doesn't support this property or method'.
Can someone please point me in the right direction :(
source code for page
<!
DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<
html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<META name="ATMSVersionNumber" content="">
<title>Isotrak</title>
<link rel="stylesheet" type="text/css" href="../cssv3/default.css">
<style type="text/css">
#page {
width: 370px;
}
</style><script language="javascript">
var contentHeightAdjustment = 0;
//The timeline svg is a constant now so we just have to
//take 486 off the avilable page height to work out the height of the scroller
var scrollDifferenceFromAvailableHeight = 500;
function fnSetContentSize() {
var el_scroller = document.getElementById('scroller');
var el_page = document.getElementById('page');
var el_pageheader = document.getElementById('pageHeader');
var el_pagebody = document.getElementById('pageBody');
var el_pagefooter = document.getElementById('pageFooter');
var el_map = document.getElementById('map');
var el_ra_scroller = document.getElementById('ra_scroller');
if (el_page != null) {
var availableHeight = (document.all ? document.body.clientHeight : window.innerHeight) - 25;
var requiredHeight = el_page.offsetHeight;
contentHeightAdjustment = availableHeight - requiredHeight;
if (el_scroller != null) {
var h_scroller = el_scroller.offsetHeight;
if ((h_scroller + contentHeightAdjustment) > 0)
el_scroller.style.height = (h_scroller + contentHeightAdjustment) +
'px';
}
//Andy Postlethwaite
//ra_scroller is in routeanalysis
if (el_ra_scroller != null) {
var scrollHeight = 0;
var el_div_timeline = document.getElementById('divTimeline');
if (el_div_timeline != null)
{
scrollHeight = availableHeight - (el_div_timeline.offsetHeight + 200)
}
else
{
scrollHeight = availableHeight - scrollDifferenceFromAvailableHeight;
}
if(scrollHeight > 0)
{
el_ra_scroller.style.height = scrollHeight +
'px';
}
}
if (typeof(scrollerArray) == 'object') {
// determine type of scroller array
// default to 'v' - scrollers are arranged vertically down the page
// if any of the proportions are 100, set to 'h' - scrollers are arranged horizontally across the page
var scrollerType = 'v';
for (i = 0; i < scrollerArray.length; i += 2) {
if (scrollerArray[i+1] == 100) {
scrollerType =
'h';
break;
}
}
if (scrollerType == 'v') {
var total_h_userscroller = 0;
for (i = 0; i < scrollerArray.length; i += 2) {
var el_userscroller = document.getElementById(scrollerArray[i]);
if (el_userscroller != null) {
var h_userscroller = el_userscroller.offsetHeight;
total_h_userscroller += h_userscroller;
}
}
var avail_h_userscroller = (total_h_userscroller + contentHeightAdjustment > 0) ? total_h_userscroller + contentHeightAdjustment : 0;
for (i = 0; i < scrollerArray.length; i += 2) {
var el_userscroller = document.getElementById(scrollerArray[i]);
if (el_userscroller != null) {
var new_h_userscroller = Math.floor(avail_h_userscroller * parseInt(scrollerArray[i+1]) / 100);
if (new_h_userscroller > 0) {
el_userscroller.style.height = new_h_userscroller +
'px';
}
}
}
}
else {
var max_h_userscroller = 0;
for (i = 0; i < scrollerArray.length; i += 2) {
var el_userscroller = document.getElementById(scrollerArray[i]);
if (el_userscroller != null) {
var h_userscroller = el_userscroller.offsetHeight;
if (h_userscroller > max_h_userscroller) {
max_h_userscroller = h_userscroller;
}
}
}
var avail_h_userscroller = (total_h_userscroller + contentHeightAdjustment > 0) ? total_h_userscroller + contentHeightAdjustment : 0;
for (i = 0; i < scrollerArray.length; i += 2) {
var el_userscroller = document.getElementById(scrollerArray[i]);
if (el_userscroller != null) {
if ((max_h_userscroller + contentHeightAdjustment) > 0) {
el_userscroller.style.height = (max_h_userscroller + contentHeightAdjustment) +
'px';
}
}
}
}
}
if (el_map != null && el_page != null && el_pageheader != null && el_pagefooter != null) {
var w_page = el_page.offsetWidth;
var w_pagebody = (el_pagebody == null) ? 0 : el_pagebody.offsetWidth;
var h_map = availableHeight - el_pageheader.offsetHeight - el_pagefooter.offsetHeight - 10;
var w_map = w_page - w_pagebody - (document.all ? 5 : 25);
el_map.style.height = h_map +
'px';
el_map.style.width = w_map +
'px';
var mapurl = '';
var mapmode = '';
loadSVG(
'map', 'svgmap', mapurl + '?content=*.svg&w=' + w_map + '&h=' + h_map, w_map, h_map);
}
}
}
function fnResizeContent() {
// call resize logic twice ?!? - seems to be necessary for IE to resize reliably
fnSetContentSize();
fnSetContentSize();
}
function fnHideMenu() {
if(top.frames['TitleFrame'] != null)
{
top.frames[
'TitleFrame'].navbar_hidecurrent();
}
}
function fnOnKeypress() {
if (window.event.keyCode == 13 && document.getElementById('EventCode') != null) {
window.event.keyCode = 0;
process_login()
}
}
if (window.attachEvent) {
window.attachEvent(
'onload', fnSetContentSize);
window.attachEvent(
'onresize', fnResizeContent);
document.attachEvent(
'onclick', fnHideMenu);
document.attachEvent(
'onkeyup', fnOnKeypress);
}
else {
window.addEventListener(
'load', fnSetContentSize, false);
window.addEventListener(
'resize', fnSetContentSize, false);
document.addEventListener(
'click', fnHideMenu, false);
document.addEventListener(
'keyup', fnOnKeypress, false);
}
</script><script language="javascript" src="../scripts/sniffer__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/common__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/ieupdate__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/validation__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/AJAX__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/emailvalidation__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/pager__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/checkboxgroup__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/date-formatting__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/Workflow/justifytext__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/element-positioning__6_1_0B_HF11.js"></script><script language="javascript" src="../scripts/SensorObjects__6_1_0B_HF11.js"></script></head><script language="JavaScript">
if (parent.frames.length == 0)
{
if (window.name.indexOf("ISOPrint") == -1)
{ top.location =
'../default.aspx'; }
}
</script><script language="javascript" src="../scripts/md5__6_1_0B_HF11.js"></script><script Language="JavaScript">
function body_onload() {
document.frmInput.UserName.focus();
}
function process_login() {
var n = document.frmInput.UserPassword_Input.value.length;
document.frmInput.UserPassword.value = hex_md5(document.frmInput.UserPassword_Input.value);
document.frmInput.UserPassword_Input.value =
'********************'.substr(1,n);;
document.frmInput.eventCode.value =
'login';
document.frmInput.submit();
}
</script><body onload="body_onload()">
<iframe id="menuShim" src="javascript:false;" scrolling="no" frameborder="0" class="shim" xmlns:msxsl="urn:schemas-microsoft-com:xslt"></iframe>
<form id="frmInput" name="frmInput" method="post" action="../home/login_put.aspx"><input type="hidden" name="eventCode" id="eventCode" value=""><input type="hidden" name="UserPassword" id="UserPassword" value=""><div id="page">
<div id="pageHeader" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td><img alt="Isotrak Portal" title="Isotrak Portal" src="../images/default/hdnIsotrakPortal_EN.gif"></td><script language="javascript">
top.document.title =
'Isotrak Portal - Isotrak ATM';
</script><script language="javascript">setPageNumber('5006','AMLVEW06')</script></tr>
</table>
</div>
<div id="pageBody" style="text-align: center">
<table border="0" cellpadding="0" cellspacing="0" class="separator" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<tr>
<td width="13" valign="bottom"><img border="0" height="13" width="13" src="../images/default/imgHeaderDot.gif"></td>
<td> <span class="custsub">Login</span></td>
<td align="right"><span class="custsub-hilite"></span> </td>
</tr>
</table>
<div style="margin: 0 auto; width: 210px; padding: 15px 0;">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="30">
<td class="labelbold" width="80">Username</td>
<td><input name="UserName" id="UserName" type="text" maxlength="15" style="width: 125"></td>
</tr>
<tr height="30">
<td class="labelbold">Password</td>
<td><input name="UserPassword_Input" id="UserPassword_Input" autocomplete="off" type="password" maxlength="15" style="width: 125"></td>
</tr>
</table>
</div>
</div>
<div id="pageFooter" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td> </td>
<td align="right" id="pageFooterButtons"> <a href="javascript:process_login()"><img border="0" alt="enter" title="enter" src="../images/default/btnEnter_EN.gif"></a></td>
</tr>
</table>
</div>
</div>
</form>
</body>
</
html>
thanks