VBA IE操作で情報が取れない
未読分:5件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#5 2020年8月3日(月)17時49分 From: たばたば | 返事 削除 変更 |
この問題はまだ解決しないでしょか? > frame使っているからかもしれませんね。 > frameのURL先が分かれば、直接アクセスして同じように取得したら、全部取得できますが、frame要素を取得してからouterHTMLするとセキュリティの問題で取得できなかったような気がします。 > > > vbavbavbaのメッセージ(#2)への返事 > > > > IEの右ボタンクリック→ソースの表示で出力した内容は > > <html> > > <head> > > | > > </head> > > <body> > > | > > </body> > > </html> > > と内容がすべて見れるのですが… > > > > For iAllCnt = 0 To objAll.Length - 1 > > Debug.Print objAll(iAllCnt).outerHTML > > Next > > からは以下しか出ません。 > > --------------------------------------------------------------- > > <HTML lang=ja><HEAD><META content="IE=5.0000" http-equiv="X-UA-Compatible"> > > <TITLE>マイタウンクラブ</TITLE> > > <META content=no-cache http-equiv=pragma> > > <META content=no-cache http-equiv=cache-control> > > <META content="text/html; charset=shift_jis" http-equiv=content-type> > > <META name=keywords content=施設予約,施設管理,講座,イベント,地域コミュニティー,マイタウンクラブ,地域指導者,団体グループ,活動情報,チュータ,チケット> > > <SCRIPT type=text/javascript src="js/jquery-1.8.2.min.js"></SCRIPT> > > > > <SCRIPT type=text/javascript> > > var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); > > document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); > > </SCRIPT> > > > > <SCRIPT type=text/javascript src="https://ssl.google-analytics.com/ga.js"></SCRIPT> > > > > <SCRIPT type=text/javascript> > > var pageTracker = _gat._getTracker("UA-2312552-1"); > > pageTracker._initData(); > > pageTracker._trackPageview(); > > </SCRIPT> > > > > <SCRIPT type=text/javascript> > > $(function(){ > > spflg = 0; > > try{ > > var url = location.href; > > params = url.split("?"); > > if (params.length != 0){ > > paramms = params[1].split("&"); > > var paramArray = []; > > for ( i = 0; i < paramms.length; i++ ) { > > val = paramms[i].split("="); > > paramArray.push(val[0]); > > paramArray[val[0]] = val[1]; > > } > > if ( paramArray["viewmode"] == "pc") { > > spflg = 1; > > } > > } > > }catch( e ){ > > } > > if (spflg == 0){ > > var agent = navigator.userAgent; > > if(agent.search(/iPhone/) != -1 || agent.search(/iPad/) != -1 || agent.search(/iPod/) != -1 || agent.search(/Android/) != -1 || agent.search(/Windows Phone/) != -1 || agent.search(/BlackBerry/) != -1 || agent.search(/Windows CE/) != -1){ > > if(agent.search(/Android 2/) == -1){ > > redirect(); > > } > > } > > } > > }); > > function redirect(){ > > if(window.confirm('スマートフォン向けサイトを表示しますか?')){ > > location.href = "index_sp.jsp"; > > } > > } > > </SCRIPT> > > </HEAD><FRAMESET frameSpacing=0 border=0 frameBorder=0 rows=0,* noresize><FRAME noResize src="blank.html" scrolling=no><FRAME src="ssoMenu.do?displayNo=index&dbInstanceNo=1"><NOFRAMES></NOFRAMES></FRAMESET></HTML> > > --------------------------------------------------------------- > > > > > > > 出力内容とはどのようにちがうんですか? > > > > > > > お世話になります。 > > > > > > > > https://www.mytownclub.com/navi-mtc/index.jsp > > > > に対して、 > > > > > > > > Sub Main() > > > > > > > > Dim objIE As InternetExplorer > > > > Set objIE = New InternetExplorer > > > > > > > > objIE.Visible = True > > > > objIE.navigate "https://www.mytownclub.com/navi-mtc/index.jsp" > > > > > > > > Sleep 1000 > > > > > > > > Dim htmlDoc As HTMLDocument > > > > Set htmlDoc = objIE.document > > > > > > > > Set objAll = objIE.document.all > > > > > > > > For iAllCnt = 0 To objAll.Length - 1 > > > > Debug.Print objAll(iAllCnt).outerHTML > > > > Next > > > > End Sub > > > > > > > > で出力した内容と > > > > > > > > IEの右ボタンクリック→ソースの表示で出力した内容が > > > > 違うのですが… > > > > > > > > やりたいのはソースの表示の内容に操作したいのですが > > > > やり方はあるのでしょうか? |
Message#4 2019年12月12日(木)08時44分 From: vbavbavba | 返事 削除 変更 |
frame使っているからかもしれませんね。 frameのURL先が分かれば、直接アクセスして同じように取得したら、全部取得できますが、frame要素を取得してからouterHTMLするとセキュリティの問題で取得できなかったような気がします。 > vbavbavbaのメッセージ(#2)への返事 > > IEの右ボタンクリック→ソースの表示で出力した内容は > <html> > <head> > | > </head> > <body> > | > </body> > </html> > と内容がすべて見れるのですが… > > For iAllCnt = 0 To objAll.Length - 1 > Debug.Print objAll(iAllCnt).outerHTML > Next > からは以下しか出ません。 > --------------------------------------------------------------- > <HTML lang=ja><HEAD><META content="IE=5.0000" http-equiv="X-UA-Compatible"> > <TITLE>マイタウンクラブ</TITLE> > <META content=no-cache http-equiv=pragma> > <META content=no-cache http-equiv=cache-control> > <META content="text/html; charset=shift_jis" http-equiv=content-type> > <META name=keywords content=施設予約,施設管理,講座,イベント,地域コミュニティー,マイタウンクラブ,地域指導者,団体グループ,活動情報,チュータ,チケット> > <SCRIPT type=text/javascript src="js/jquery-1.8.2.min.js"></SCRIPT> > > <SCRIPT type=text/javascript> > var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); > document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); > </SCRIPT> > > <SCRIPT type=text/javascript src="https://ssl.google-analytics.com/ga.js"></SCRIPT> > > <SCRIPT type=text/javascript> > var pageTracker = _gat._getTracker("UA-2312552-1"); > pageTracker._initData(); > pageTracker._trackPageview(); > </SCRIPT> > > <SCRIPT type=text/javascript> > $(function(){ > spflg = 0; > try{ > var url = location.href; > params = url.split("?"); > if (params.length != 0){ > paramms = params[1].split("&"); > var paramArray = []; > for ( i = 0; i < paramms.length; i++ ) { > val = paramms[i].split("="); > paramArray.push(val[0]); > paramArray[val[0]] = val[1]; > } > if ( paramArray["viewmode"] == "pc") { > spflg = 1; > } > } > }catch( e ){ > } > if (spflg == 0){ > var agent = navigator.userAgent; > if(agent.search(/iPhone/) != -1 || agent.search(/iPad/) != -1 || agent.search(/iPod/) != -1 || agent.search(/Android/) != -1 || agent.search(/Windows Phone/) != -1 || agent.search(/BlackBerry/) != -1 || agent.search(/Windows CE/) != -1){ > if(agent.search(/Android 2/) == -1){ > redirect(); > } > } > } > }); > function redirect(){ > if(window.confirm('スマートフォン向けサイトを表示しますか?')){ > location.href = "index_sp.jsp"; > } > } > </SCRIPT> > </HEAD><FRAMESET frameSpacing=0 border=0 frameBorder=0 rows=0,* noresize><FRAME noResize src="blank.html" scrolling=no><FRAME src="ssoMenu.do?displayNo=index&dbInstanceNo=1"><NOFRAMES></NOFRAMES></FRAMESET></HTML> > --------------------------------------------------------------- > > > > 出力内容とはどのようにちがうんですか? > > > > > お世話になります。 > > > > > > https://www.mytownclub.com/navi-mtc/index.jsp > > > に対して、 > > > > > > Sub Main() > > > > > > Dim objIE As InternetExplorer > > > Set objIE = New InternetExplorer > > > > > > objIE.Visible = True > > > objIE.navigate "https://www.mytownclub.com/navi-mtc/index.jsp" > > > > > > Sleep 1000 > > > > > > Dim htmlDoc As HTMLDocument > > > Set htmlDoc = objIE.document > > > > > > Set objAll = objIE.document.all > > > > > > For iAllCnt = 0 To objAll.Length - 1 > > > Debug.Print objAll(iAllCnt).outerHTML > > > Next > > > End Sub > > > > > > で出力した内容と > > > > > > IEの右ボタンクリック→ソースの表示で出力した内容が > > > 違うのですが… > > > > > > やりたいのはソースの表示の内容に操作したいのですが > > > やり方はあるのでしょうか? |
Message#3 2019年12月5日(木)19時32分 From: oldmac | 返事 削除 変更 |
vbavbavbaのメッセージ(#2)への返事 IEの右ボタンクリック→ソースの表示で出力した内容は <html> <head> | </head> <body> | </body> </html> と内容がすべて見れるのですが… For iAllCnt = 0 To objAll.Length - 1 Debug.Print objAll(iAllCnt).outerHTML Next からは以下しか出ません。 --------------------------------------------------------------- <HTML lang=ja><HEAD><META content="IE=5.0000" http-equiv="X-UA-Compatible"> <TITLE>マイタウンクラブ</TITLE> <META content=no-cache http-equiv=pragma> <META content=no-cache http-equiv=cache-control> <META content="text/html; charset=shift_jis" http-equiv=content-type> <META name=keywords content=施設予約,施設管理,講座,イベント,地域コミュニティー,マイタウンクラブ,地域指導者,団体グループ,活動情報,チュータ,チケット> <SCRIPT type=text/javascript src="js/jquery-1.8.2.min.js"></SCRIPT> <SCRIPT type=text/javascript> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </SCRIPT> <SCRIPT type=text/javascript src="https://ssl.google-analytics.com/ga.js"></SCRIPT> <SCRIPT type=text/javascript> var pageTracker = _gat._getTracker("UA-2312552-1"); pageTracker._initData(); pageTracker._trackPageview(); </SCRIPT> <SCRIPT type=text/javascript> $(function(){ spflg = 0; try{ var url = location.href; params = url.split("?"); if (params.length != 0){ paramms = params[1].split("&"); var paramArray = []; for ( i = 0; i < paramms.length; i++ ) { val = paramms[i].split("="); paramArray.push(val[0]); paramArray[val[0]] = val[1]; } if ( paramArray["viewmode"] == "pc") { spflg = 1; } } }catch( e ){ } if (spflg == 0){ var agent = navigator.userAgent; if(agent.search(/iPhone/) != -1 || agent.search(/iPad/) != -1 || agent.search(/iPod/) != -1 || agent.search(/Android/) != -1 || agent.search(/Windows Phone/) != -1 || agent.search(/BlackBerry/) != -1 || agent.search(/Windows CE/) != -1){ if(agent.search(/Android 2/) == -1){ redirect(); } } } }); function redirect(){ if(window.confirm('スマートフォン向けサイトを表示しますか?')){ location.href = "index_sp.jsp"; } } </SCRIPT> </HEAD><FRAMESET frameSpacing=0 border=0 frameBorder=0 rows=0,* noresize><FRAME noResize src="blank.html" scrolling=no><FRAME src="ssoMenu.do?displayNo=index&dbInstanceNo=1"><NOFRAMES></NOFRAMES></FRAMESET></HTML> --------------------------------------------------------------- > 出力内容とはどのようにちがうんですか? > > > お世話になります。 > > > > https://www.mytownclub.com/navi-mtc/index.jsp > > に対して、 > > > > Sub Main() > > > > Dim objIE As InternetExplorer > > Set objIE = New InternetExplorer > > > > objIE.Visible = True > > objIE.navigate "https://www.mytownclub.com/navi-mtc/index.jsp" > > > > Sleep 1000 > > > > Dim htmlDoc As HTMLDocument > > Set htmlDoc = objIE.document > > > > Set objAll = objIE.document.all > > > > For iAllCnt = 0 To objAll.Length - 1 > > Debug.Print objAll(iAllCnt).outerHTML > > Next > > End Sub > > > > で出力した内容と > > > > IEの右ボタンクリック→ソースの表示で出力した内容が > > 違うのですが… > > > > やりたいのはソースの表示の内容に操作したいのですが > > やり方はあるのでしょうか? |
Message#2 2019年11月29日(金)16時44分 From: vbavbavba | 返事 削除 変更 |
出力内容とはどのようにちがうんですか? > お世話になります。 > > https://www.mytownclub.com/navi-mtc/index.jsp > に対して、 > > Sub Main() > > Dim objIE As InternetExplorer > Set objIE = New InternetExplorer > > objIE.Visible = True > objIE.navigate "https://www.mytownclub.com/navi-mtc/index.jsp" > > Sleep 1000 > > Dim htmlDoc As HTMLDocument > Set htmlDoc = objIE.document > > Set objAll = objIE.document.all > > For iAllCnt = 0 To objAll.Length - 1 > Debug.Print objAll(iAllCnt).outerHTML > Next > End Sub > > で出力した内容と > > IEの右ボタンクリック→ソースの表示で出力した内容が > 違うのですが… > > やりたいのはソースの表示の内容に操作したいのですが > やり方はあるのでしょうか? |
Message#1 2019年11月12日(火)10時18分 From: oldmac | 返事 削除 変更 |
お世話になります。 https://www.mytownclub.com/navi-mtc/index.jsp に対して、 Sub Main() Dim objIE As InternetExplorer Set objIE = New InternetExplorer objIE.Visible = True objIE.navigate "https://www.mytownclub.com/navi-mtc/index.jsp" Sleep 1000 Dim htmlDoc As HTMLDocument Set htmlDoc = objIE.document Set objAll = objIE.document.all For iAllCnt = 0 To objAll.Length - 1 Debug.Print objAll(iAllCnt).outerHTML Next End Sub で出力した内容と IEの右ボタンクリック→ソースの表示で出力した内容が 違うのですが… やりたいのはソースの表示の内容に操作したいのですが やり方はあるのでしょうか? |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降