アプリ版:「スタンプのみでお礼する」機能のリリースについて

添付の画像に示す箇所のTabをクリックしたいです。
具体的HTMLの中身でいうと、下記HTMLソースにしめす●BBB●をクリックしたいです。
●BBB●に含まれる各タグの要素を取出しては.Clickをしましたが何も変化がないです。
取り出した各タグ要素は、<LI>、<SPAN>、<SPAN>、<EM>、<A>です。それぞれ独立に要素抽出して、.Clickを試みました。やり方としては、本要素が含む<DIV>又は<LI>から、さらに各種タグ要素を取り出してクリックしています。
(objIE.document.getElementsByTagName(tagname).Click)

何をすれば、クリックできるかヒントを頂きたいです。

----【HTML:タブが含まれるDIVタグ】----------------------------------------------------------------------------------------
<DIV class="x-tab-panel-header x-tab-panel-header-noborder x-unselectable x-tab-panel-header-plain" id=ext-gen151 style="WIDTH: 740px; MozUserSelect: none; KhtmlUserSelect: none" unselectable="on"><DIV class=x-tab-strip-wrap id=ext-gen154 style="WIDTH: 740px">

<UL class="x-tab-strip x-tab-strip-top" id=ext-gen156>

<LI class=" x-tab-strip-active" id=infoPageinfoPanelID__infoPage_myTab_object_changeNoticeDetailsTab _nodup="30815"><A class=x-tab-strip-close id=ext-gen159></A><A class=x-tab-right id=ext-gen160 href="#"><EM class=x-tab-left><SPAN class=x-tab-strip-inner><SPAN class="x-tab-strip-text ">●AAA●</SPAN></SPAN></EM></A></LI>

<LI id=infoPageinfoPanelID__infoPage_myTab_object_simplifiedImplementationPlanTab _nodup="30815"><A class=x-tab-strip-close id=ext-gen161></A><A class=x-tab-right id=ext-gen162 href="#"><EM class=x-tab-left><SPAN class=x-tab-strip-inner><SPAN class="x-tab-strip-text ">●BBB●</SPAN></SPAN></EM></A></LI>

<LI id=infoPageinfoPanelID__infoPage_myTab_object_changeNoticeProcessTab _nodup="30815"><A class=x-tab-strip-close id=ext-gen163></A><A class=x-tab-right id=ext-gen164 href="#"><EM class=x-tab-left><SPAN class=x-tab-strip-inner><SPAN class="x-tab-strip-text ">プロセス</SPAN></SPAN></EM></A></LI>

<LI id=infoPageinfoPanelID__infoPage_myTab_object_changeObjectsHistoryTab _nodup="30815"><A class=x-tab-strip-close id=ext-gen165></A><A class=x-tab-right id=ext-gen166 href="#"><EM class=x-tab-left><SPAN class=x-tab-strip-inner><SPAN class="x-tab-strip-text ">●CCC●</SPAN></SPAN></EM></A></LI>

<LI id=infoPageinfoPanelID__infoPage_myTab_sysnav_sysnavTab _nodup="30815"><A class=x-tab-strip-close id=ext-gen167></A><A class=x-tab-right id=ext-gen168 href="#"><EM class=x-tab-left><SPAN class=x-tab-strip-inner><SPAN class="x-tab-strip-text ">●DDD●</SPAN></SPAN></EM></A></LI>

<LI class=" x-tab-with-icon privateEditableTab" id=infoPageinfoPanelID__new_tab_action><A class=x-tab-strip-close id=ext-gen324></A><A class=x-tab-right id=ext-gen325 href="#"><EM class=x-tab-left><SPAN class=x-tab-strip-inner><SPAN class="x-tab-strip-text tab-add" qtip="XXXX "></SPAN></SPAN></EM></A></LI>

<LI class=x-tab-edge id=ext-gen157 _nodup="30815"><SPAN class=x-tab-strip-text></SPAN></LI>

<DIV class=x-clear id=ext-gen158></DIV>

<DIV class=x-dock-tab-drop-highlight id=ext-gen170 style="VISIBILITY: hidden"><IMG id=ext-gen171 style="POSITION: absolute" src="netmarkets/javascript/ext/dockPanel/pos.gif"></DIV></UL></DIV>

<DIV class=x-tab-strip-spacer id=ext-gen155></DIV></DIV>

「【VBA/HTML】IE画面内のページT」の質問画像

質問者からの補足コメント

  • WindFaller様
    web上にはありませんでした。下記から試供版としてダウンロードする必要がありましが、手続きが面倒なので別の形で質問させてください。
    http://www.ptc-jp.com/Products/free-downloads

    Webで示すことができないため、このようなやり方はありでしょうか?

    このHTMLは、タブ●AAA●を開いだ状態のソースです。LI●AAA●を含むLIタグだけにClassがあり、値に…-activeが見受けられます。この値を何かに書き換えてしまうというのは、クリック検討の手段としてありでしょうか?CSSの属性値変更というキーワードになるように思いますが、その変更の仕方もわかっていません…という状況です。やれることはやってみたいので、こうしてみたら?というご提案いただけると助かります。

    No.1の回答に寄せられた補足コメントです。 補足日時:2017/02/10 00:47

A 回答 (4件)

画像から受ける印象としてはフレームが使われてそうですが、


取り敢えず、目的の要素を「マウスカーソル直下の要素を取得する」コードで、
親のWindowオブジェクトを返させて、そのDocumentがIE本体のDocumentと一致するなら、
フレームが使われていないと判断出来ます。

https://gist.github.com/kumatti1/452198b822eb590 …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
頂いたアドバイスは、下記①か②を確かめてその要素を.Clickしてみては?と理解しています。
ご回答のコードが、vba上では2,3エラーがでてしまい動かせてない状況であるため、別の形で調べた内容を示します。

①要素にFrameがあれば.Clickしてみる
→まずページ内にはFrameタグ自体がありませんでした。
 ただ<div class="frame-outer"…>というのは複数見つかりました。
 このDIV内にリンクらしいものは見当たりませんでした。

②マウスを置くと要素が見えてくる(?!)
→まず、私が実施したクリックしたい箇所にマウスをあてて要素を抽出する方法の紹介です。

該当ページをIEで開き、「F12」を押して起動される「開発者ツール」(要素の選択)を使用して、クリックをしたい箇所にマウスあてて、クリック。すると開発者ツール内のDOM上の該当要素がフォーカスされます(そんなツールがあるんですね)。

具体的には、マウスを画像に示すtab[Process](●BBB●)近くにあてると、選択区画が下記の3つ現われました。各々区画をクリックしたときの要素結果を示します。
タブ中央:最も領域面積が大きいのがProcess文字のある周辺
タブ左端:tab内のProcess文字より左側に位置するわずかな領域
タブ右端:上に同じ右側

■クリック要素の結果
・タブ左端:
<SPAN class="x-tab-strip-text ">●BBB●</SPAN>
・タブ中央:
<A class=x-tab-right id=ext-gen162 href="#"><EM class=x-tab-left><SPAN class=x-tab-strip-inner><SPAN class="x-tab-strip-text ">●BBB●</SPAN></SPAN></EM></A>
・タブ左端:
<EM class=x-tab-left><SPAN class=x-tab-strip-inner><SPAN class="x-tab-strip-text ">●BBB●</SPAN></SPAN></EM>

この要素は、全て.Clickを試み何も反応がなく本質問に至っている次第です。改めてこの辺りが重要なのはよくわかりました。難解

お礼日時:2017/02/15 03:53

クリックの前にfocusメソッドを呼び出すとか、


ie.Document.getElementsByTagName("hoge").getElementsByTagName("hoge")

と継続して呼び出して要素を絞り込む事も出来ます。
    • good
    • 0
この回答へのお礼

ありがとうございました。
参考させて頂きながらいろいろ試行錯誤致しましたが、まだ解決できておりません。

ご回答を参考にしながら、別枠で新しい質問をさせて頂きましたのでよろしければまたご検討いただけると助かります。
https://oshiete.goo.ne.jp/qa/8151368.html

お礼日時:2017/02/27 23:30

該当の要素にアクセス出来ているなら、IAccessibleでクリックさせる手もあります。


https://gist.github.com/kumatti1/0162c4c2f5115bd …
    • good
    • 0
この回答へのお礼

再度ご回答ありがとうございます。
【A】【B】【C】3点↓です。

【A】本ご回答について
やれることはやってみたいので、何とかVB記述をVBAでもエラーなく動かせるようにしたいと思います。(もしエラーなく実施する手段をご回答頂く余力がございましたらお願いします、、あくまでさぼり発言ですので余力があればで)

★本ご回答(マウス位置と要素の件)は最終手段として考えています。
解決のため別のアクションがあれば是非、まだまだアドバイス頂けたらと思います。その間に、本ご回答のエラー調査をしたいと思います。

・前ご回答のお礼に示した内容の補足
>②マウスを置くと要素が見えてくる(?!)
について2点です。

【B】
>■クリック要素の結果
「<」「>」が文字化けしていました。

■クリック要素の結果 (改めて..)
(表示ができていない場合、質問のHTMLの●BBB●周辺を合わせてご覧ください)

・タブ左端:
'<SPAN class="x-tab-strip-text ">実装計画</SPAN>'

・タブ中央:
'<A class=x-tab-right id=ext-gen162 href="#"><EM class=x-tab-left><SPAN class=x-tab-strip-inner><SPAN class="x-tab-strip-text ">●BBB●</SPAN></SPAN></EM></A>'

・タブ左端:
<EM class=x-tab-left><SPAN class=x-tab-strip-inner><SPAN class="x-tab-strip-text ">●BBB●</SPAN></SPAN></EM>

【C】
[開発者ツール]を使用せず、単にマウスをクリックしたタブに置いた状態でも全要素を抽出してみましたが、特にDOM内容に変化はありませんでした。もしかしたら、マウスを該当箇所に置いた場合とそうでない場合に何かかわるかもと思って抽出してみた次第です。

オープンなホームページの内容でないため、説明不足ばかりですが、理解にご協力頂き大変感謝いたします。

お礼日時:2017/02/15 04:33

こんばんは。



こちらも答えようとしたけれども、そのソースだけでは、生のサイトでないと読みきれません。Class や ID のオブジェクトを確保して、それでClickすればよいとは言い切れないのです。クリックで関数が働くようにはなっていないようですが、ロボット収集を嫌ったサイトのようにも見えます。

>●BBB●に含まれる各タグの要素を取出しては.Clickをしましたが何も変化がないです。
タグを取り出して、というなら、なおさら、この状態では無理だと思ってください。

Clickには数種類の方法がありますが、私は、試行錯誤を繰り返すことが多いです。

そのURLを教えてくださったら、もう一度考え直したいと思います。
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございます。
お示しできるようにしたいと思いますのでお時間を頂きたいです。
社内システムで運用されているので入ることはできませんが、世界中で広く使われてますのでサンプル的に使えるURLを探してみます。
よろしくお願いします。

お礼日時:2017/02/09 22:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!