2013-05-16 1 views
0

Я пытаюсь написать код vba для ссылки на значок автоклиника после входа в систему. Я застрял с кодом vba, который я написал ниже, и когда я запускаю vba макрос нет ответов. Я считаю, что ссылка значка находится внутри рамки для веб-страницы. Пожалуйста, помогите спасибоНевозможно автоклинировать ссылку значка в кадре для веб-страницы VBA

Я попытался щелкнуть правой кнопкой мыши по ссылке значка, чтобы проверить адрес URL-адреса фрейма, и перейти к этой веб-странице после входа в систему, однако она автоматически перенаправляется на другую страницу, которую я не хочу.

URL-адрес (целевой веб-страницы со ссылкой значок): "https://trading.poems.com.hk/poems2/poems.asp?func=view"

Авто Redirected Веб-страница: "https://trading.poems.com.hk/poems2/loginaction.asp"

Значок ссылка HTML код:

<a href="#" onClick="StockPop = window.open ('http://www.poems.com.hk/stockSummary/stockSummary.asp?           iKey=2755766c747a25535353574373b375a375c05','StockAnalytics','scrollbars=yes,resizable=yes,status=yes,left=0,top=0,width=1250,height=700,toolbar=0')"><img src="images/Corner/EN/Company.png" border=0 title="Stock Analytics "></a> 

Мой VBA код:

Sub open3() 
Set ie = CreateObject("InternetExplorer.Application") 
ie.Visible = True 
ie.navigate "https://trading.poems.com.hk/poems2/poems.asp?func=view" 


Do Until ie.readyState = 4 
DoEvents 
Loop 


For Each ele In ie.document.getElementsByTagName("a") 
If InStr(ele.innerHTML, "images/Corner/EN/Company.png") > 0 Then 
ele.Click 


Exit For 
End If 
Next 

End Sub 

Рамки веб-сайта:

<html> 
<head> 
<title>Phillip Securities (HK)-?????? (?????????)</title> 
<link rel="shortcut icon" href="images/phillip.ico"> 
    <meta http-equiv="Content-Type" content="text/html; charset=big5"></head> 

    <frameset cols="*, 100%" border=0 frameborder=0 framespacing=0 marginheight=0 marginwidth=0> 
<frame src="Poems2/BrowserChecking.asp" name="ChkBrowser"> 
<frame src="Poems2/Poems.asp" name="login" frameborder=0 framespacing=0 marginheight=0 marginwidth=0> 
     </frameset><noframes></noframes> 
    </html> 

Часть исходного HTML код:

<!DOCTYPE html PUBLIC "-/W3C//DTD XHTML 1.0 Transtitional//EN" 
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=big5" /> 
    <title>??????-?????????</title> 
    </head> 
    <link href="css/phillip.css" rel="stylesheet" type="text/css" /> 
     <script type="text/javascript" >document.domain="poems.com.hk"</script> 
    <script type="text/javascript" src="js/jquery.min.js"></script> 
<link rel="stylesheet" type="text/css" href="css/ddsmoothmenu_Execution_EN.css" /> 
<script type='text/javascript' src='js/ddsmoothmenu.js'></script> 
<script type="text/javascript" src="js/font.js"></script> 
<script type="text/javascript"> 
ddsmoothmenu.init({ 

mainmenuid: "smoothmenu1", //menu DIV id 
orientation: 'h', //Horizontal or vertical menu: Set to "h" or "v" 
classname: 'ddsmoothmenu', //class added to menu's outer DIV 
//customtheme: ["#1c5a80", "#18374a"], 
contentsource: "markup" //"markup" or ["container_id", "path_to_menu_file"] 
}) 


</script> 
<script type="text/javascript"> 
var myclose = false; 

function ConfirmClose() 
{ 
    frameURL = (parent.DetailFrame.location.href).toUpperCase() 
    //alert(frameURL + "//// " + frameURL.indexOf("PPSHK.COM")) 
    if (frameURL.indexOf("PPSHK") > 0) 
    { 

     if (event.clientY < 0) 
     { 
      event.returnValue = '???????????, ?????????\n????!'; 
      //setTimeout('myclose=false',10000); 
      //myclose=true; 
     } 
    } 
} 

function parentExists() { 
    return (parent.location == window.location) ? false : true; 
} 

if(!parentExists()) 
    document.location = "../index2.htm" 



function checkKeyCode(evt) 
{ 
    var evt = (evt) ? evt : ((event) ? event : null); 
    var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null); 
    if(event.keyCode==116) 
    { 
     location.reload(true); 
     return false 
    } 
} 
document.onkeydown=checkKeyCode; 
</script> 
<body onUnload="CloseAllPop()"> 
<script> 
    var EFuturePop 
    var StockPop 
    var USStockPop 
    var SGStockPop 
    var JPStockPop 
    var SAStockPop 
    var SOptionPop 
    var SNOptionPop 
    var StockGTCPop 
    var BullionPop 
    var FxBannerPop 

    var FoFuturePop 
    var ForexPop 
    var FoOptionsPop 

    var ForexResponse 
    var FoFutureResponse 
    var FoOptionsResponse 

    function CloseAllPop(){ 
     if(EFuturePop != null){ 
      EFuturePop.close() 
     } 
     if(StockPop != null){ 
      StockPop.close() 
     } 
     if(USStockPop != null){ 
      USStockPop.close() 
     } 
     if(SGStockPop != null){ 
      SGStockPop.close() 
     } 
     if(JPStockPop != null){ 
      JPStockPop.close() 
     } 
     if(SAStockPop != null){ 
      SAStockPop.close() 
     } 
     if(SOptionPop != null){ 
      SOptionPop.close() 
     } 
     if(SNOptionPop != null){ 
      SNOptionPop.close() 
     } 
     if(StockGTCPop != null){ 
      StockGTCPop.close() 
     } 
     if(BullionPop != null){ 
      BullionPop.close() 
     } 
//  if(FxBannerPop != null){ 
//   FxBannerPop.close() 
//  } 
     if(FoFuturePop != null){ 
      FoFuturePop.close() 
     } 
     if(ForexPop != null){ 
      ForexPop.close() 
     } 
     if (FoOptionsPop != null) { 
      FoOptionsPop.close() 
     } 
    } 

    function forexClose(ans){ 
     ForexResponse = ans; 
    } 

    function foFutureClose(ans){ 
     FoFutureResponse = ans; 
    } 

    function foOptionsClose(ans) { 
     FoOptionsResponse = ans; 
    } 

    function DisclaimerClose(type,ans){ 
     if (type == "Forex"){ 
      ForexResponse = ans; 
     } 
     else if (type == "FoFuture"){ 
      FoFutureResponse = ans; 
     } 
     else if (type == "FoOptions") { 
      FoOptionsResponse = ans; 
     } 
    } 

    function changeDetailFrame(link) { 
     $('#DetailFrame').attr('src',link); 
    } 

    function CheckStockGTCPop(){ 
     if(StockGTCPop != null){ 
      parent.DetailFrame.location.href = "NoPopup/ZH/TradeStock_GTC.asp" 
     } 
     else{ 
      StockGTCPop = window.open('StockDisclaimer_GTC.asp','HKStockGTC','scrollbars=yes,resizable=yes,status=no,left=0,top=0,width=1014,height=710,toolbar=0') 
     } 
    } 

    function CheckForexPop(){ 
     if (ForexResponse=="A"){ 
      if (ForexPop.closed) { 
       ForexPop = window.open('Forex/asp/menu/100kforex_fr.asp','Forex','scrollbars=yes,resizable=yes,status=no,left=0,top=0,width=1014,height=710,toolbar=0') 
      } 
     } 
     else{ 
      ForexPop = window.open('ForexDisclaimer.asp','Forex','scrollbars=yes,resizable=yes,status=no,left=0,top=0,width=1014,height=710,toolbar=0') 
     } 
    } 

    function CheckFoFuturePop(){ 
     if (FoFutureResponse=="A"){ 
      if (FoFuturePop.closed){ 
       FoFuturePop = window.open('FoFutures/EN/ftslingshot2b3/LiveMain_fr.asp?type=F', 'FoFuture', 'scrollbars=yes,resizable=yes,status=no,left=0,top=0,width=1014,height=710,toolbar=0') 
      } 
     } 
     else{ 
      FoFuturePop = window.open('FoFutureDisclaimer.asp','FoFuture','scrollbars=yes,resizable=yes,status=no,left=0,top=0,width=1014,height=710,toolbar=0') 
     } 
    } 

    function CheckFoOptionsPop() { 
     if (FoOptionsResponse == "A") { 
      if (FoOptionsPop.closed) { 
       FoOptionsPop = window.open('FoFutures/EN/ftslingshot2b3/LiveMain_fr.asp?type=O', 'FoFuture', 'scrollbars=yes,resizable=yes,status=no,left=0,top=0,width=1014,height=710,toolbar=0') 
      } 
     } 
     else { 
      FoOptionsPop = window.open('FoOptionsDisclaimer.asp','FoOptions', 'scrollbars=yes,resizable=yes,status=no,left=0,top=0,width=1014,height=710,toolbar=0') 
     } 
    } 

// function CheckFoFuturePop_FO(){ 
//  FoFuturePop = window.open('FoFutures/EN/ftslingshot2b3/LiveMain_fr_FO.asp','FoFuture','scrollbars=yes,resizable=yes,status=no,left=0,top=0,width=1014,height=710,toolbar=0') 
// } 

    function CheckFxBannerPop(){ 
     if(FxBannerPop != null){ 
      parent.DetailFrame.location.href = "Forex/asp/menu/100kforex_fr.asp" 
     } 
     else{ 
      parent.DetailFrame.location.href = "Forex/asp/menu/100kforex_fr.asp" 
      FxBannerPop = window.open('Banner.htm','FxBanner','scrollbars=yes,resizable=yes,status=no,left=0,top=0,width=600,height=300,toolbar=0') 
     } 
    } 
    //document.body.onunload = CloseAllPop 
</script> 
<table width="985" border="0" align="center" cellpadding="0" cellspacing="0" id="maintable"> 
    <tr> 
    <td width="10" background="images/bgsquareleft.jpg"></td> 
    <td bgcolor="#FFFFFF"><table width="940" border="0" align="center" cellpadding="0" cellspacing="0"> 
     <tr> 
     <td colspan="2"> 
      <table width="100%" border="0" cellspacing="0" cellpadding="0"> 
       <tr><td> 
        <table width="100%" border="0" cellspacing="0" cellpadding="0"> 
        <tr> 
         <td height="64"><a href="MainMenu.asp" target="DetailFrame"><img src="POEMSBanner.gif" alt="Phillip's ON-LINE ELECTRONIC MART SYSTEM" height="54" border="0" /></a></td> 
         <td align="right" valign="bottom" class="style3"> 

      <a href="#" onClick="TradCenPop = window.open('https://trading.poems.com.hk/Poems2/tradingcentral/index.aspx?pf=X&lang=en&id=XXXXXX','TradingCentral','scrollbars=yes,resizable=yes,status=yes,left=0,top=0,width=680,height=480,toolbar=0')"><img src="images/Corner/EN/tradingcen.png" border=0 title="Trading Central"></a> 
          <a href="#" onClick="StockPop = window.open('http://www.poems.com.hk/stockSummary/stockSummary.asp?iKey=2755766c747a4373b375a375c05','StockAnalytics','scrollbars=yes,resizable=yes,status=yes,left=0,top=0,width=1250,height=700,toolbar=0')"><img src="images/Corner/EN/Company.png" border=0 title="Stock Analytics "></a>&> 
+0

Вы можете загрузить изображение выделив иконку вы хочу щелкнуть, так как я не могу найти значок. – Santosh

ответ

0

Вашего URL "https://trading.poems.com.hk/poems2/poems.asp?func=view" возвращает HTML код страницы фреймов не имея ни одного тегом.

Обратите внимание, что элемент Document внутри объекта Browser не расширяет базовые страницы. Вы видите здесь же, как если бы в браузере с помощью «шоу источника» функции

Проверьте возможность вызова (один из) обрамленной страницы (ы) непосредственно

+0

Привет Как вызвать обрамленную страницу напрямую? Я попробовал использовать Firefox и щелкнул фрейм-инфо. Он дает мне «https://trading.poems.com.hk/poems2/poems.asp?func=view» – BHS24

+0

Но он перенаправляется на эту веб-страницу, которую я не хочу: «https://trading.poems.com .hk/poems2/loginaction.asp " – BHS24

+0

, так какую страницу вы действительно хотите увидеть в браузере? с VBA вы можете действовать только на правильно загруженной странице .... все, что происходит при загрузке страницы (исполнение скриптов на стороне сервера или на стороне клиента) выходит за рамки влияния VBA – MikeD

Смежные вопросы