• 締切済み

UWSCでIEの制御がうまくいきません

どなたか教えてください。 UWSC用に、次のようなIE制御のテストスクリプト作ったのですが、最後のIELINKで製品ページに遷移しません。 どう直したらいいのでしょう? なお、ドコモさんのサイトはテスト的に選んだだけで、質問とは関係ありません。 IE = CreateOLEObj("InternetExplorer.Application") IE.Visible = True IE.Navigate("http://www.docomo-technavi.com/") Repeat; sleep(0.2); Until (! IE.busy) and (IE.readyState=4) IELINK(IE,"定額データプランで、知らないうちに定額対象外データ通信に切り替わって、高額請求になることはありませんか?") ACW(GETID("Q&A | お客様サポート | NTTドコモ - Windows Internet Explorer","IEFrame")) Repeat; sleep(0.2); Until (! IE.busy) and (IE.readyState=4) IELINK(IE,"製品") //←ここでページ遷移しない。

みんなの回答

  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.2

そうですね、別ウインドウはオブジェクトIEとは別物になりますので、IELINK(IE,"製品")ではクリックできません。 開いている全てのウインドウを検索して、インターネットエクスプロラーのウインドウで、Q&A~~~のタイトルのオブジェクトを捕まえる必要があります。 ・・・ですが、わたくしVBAでは分かるのですが、UWSCはやったことが無いんですよね、ごめんなさい。 VBAなら http://www23.tok2.com/home/kameyamakabu/beginner/wforum.cgi こちらをヒントに出来ると思います。

piro-shiki
質問者

お礼

早速のご回答、ありがとうございました。 私には難しそうだな・・・

  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.1

オブジェクトIEの中にリンク"製品"はありますか? IE以外にあるのを、勘違いして指定していませんでしょうか?

piro-shiki
質問者

補足

ご回答、ありがとうございます。 言葉足らずだったと思いますので、もう少しご説明させてください。 Web画面での想定動作は、次のようになります。 (1)www.docomo-technavi.com のHP表示。 (2)FAQの「定額データプランで、知らないうちに・・・」をクリック (3)別ウインドウが開き、Q&A画面が表示されます。  そのソースを見ると、下記の行があります。  <a href="http://www.nttdocomo.co.jp/product/">製品</a>  この「製品」をキックして、productのページに飛ばせたいのです。 ちなみに、下記のように最初からQ&Aのページを表示させると、うまく製品ページに飛んでくれます。 IE = CreateOLEObj("InternetExplorer.Application") IE.Visible = True IE.Navigate("http://otoiawase.nttdocomo.co.jp/PC/qa/?qa=103503") Repeat; sleep(0.2); Until (! IE.busy) and (IE.readyState=4) IELINK(IE,"製品") オブジェクトの指定に問題があるのでしょうか? すみません、なにぶん素人でして・・・・ どうか、よろしくお願いします。

関連するQ&A

  • UWSC(LIST選択できず)

    初心者です。 UWSCの自動化で上手くいかない所を、どなたか教えていただけないでしょうか? 内容はあるサイトにログオンした後、コンボBOXで選択する画面を自動化したいのですが上手くいきません。UWSCの記載は下記の通りです。 どなたかお分かりになる方よろしくお願いします。m(_ _)m ID = INPUT("貴方のIDは?") PW = INPUT("貴方のPWは?") IE = CREATEOLEOBJ("INTERNETEXPLORER.APPLICATION") IE.VISIBLE = TRUE IE.NAVIGATE("あるサイト") repeat sleep(0.1) until !ie.busy and ie.readystate=4 ie.document.forms[0].elements[2].value =ID ie.document.forms[0].elements[3].value =PW repeat sleep(0.1) until !ie.busy and ie.readystate=4 ie.document.forms[0].submit repeat sleep(0.5) until !ie.busy and ie.readystate=4 ret = IELINK(IE,"あるリンク") repeat sleep(0.5) until !ie.busy and ie.readystate=4 ie.document.forms[0].elements[0].VALUE ="あるコンボ選択肢" ↑ここだけ上手く動かないです。 ie.document.forms[0].elements[2].value ="01/02/2007" ie.document.forms[0].elements[3].value ="07/07/2007" repeat sleep(0.5) until !ie.busy and ie.readystate=4 ie.document.forms[0].elements[4].CLICK()

  • UWSCでIE操作。IEを選択する方法について

    UWSCでIEを開き、その後の操作も大体分かるのですが、 IEを開いたときに、IEが選択されるときと、選択されないときが あります。選択されるときは問題なく動作するのですが、 選択されない場合は、KBD(VK_ENTER,CLICK,###)などのタグが動作しなくなります。 ※以下、IEを動作するときに使用しているソースです。 IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = true IE.navigate(URL) sleep(0.5) REPEAT sleep(0.5) UNTIL !IE.busy AND IE.readystate = 4 このときに、開いたIEを確実に選択し、動作させるような方法はありませんでしょうか?

  • UWSCでEdgeを起動してCOM操作するには

    UWSCでEdge(Microsoft Edge)を起動して COMオブジェクトで操作したいのですが、 IE(Internet Explorer)を起動して操作する仕方は分かりますが、 Edgeを起動して操作する仕方がよく分かりません。 以下のコードは、 Googleの検索ボックスにテストという文字列を入力する IEでのコードですが、Edge用に書き換えるには、 どのように記述すればよいのか教えていただけないでしょうか。 ------------------------------------------------------------------ IE = CREATEOLEOBJ("InternetExplorer.Application") IE.VISIBLE = True IE.NAVIGATE("https://www.google.co.jp/") REPEAT SLEEP( 0.1 ) UNTIL ( ! IE.BUSY ) AND ( IE.READYSTATE = 4 ) IE.document.getElementsByClassName("gLFyf gsfi").item(0).value="テスト" //(省略) SLEEP(5) //確認用 IE.Quit ------------------------------------------------------------------ よろしくお願いします。(Windows10 2004)(IE 2004)(Edge 89.0.774.68)

  • UWSCのIE操作でプルダウンを選択する方法

    UWSCのIE操作でプルダウンを選択する方法がわからなく、 記録機能を使い試してみたのですがうまくいきませんでした。 どなたか教えていただけないでしょうか。 よろしくお願いします。 IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = true IE.navigate("http://sportsnavi.yahoo.co.jp/") waiting(IE) IELINK(IE,"Jリーグ") waiting(IE) IELINK(IE,"日程&結果",2) waiting(IE) //ここがうまく行かないところです。記録で出てきたものをそのまま使用 CLKITEM(IE, "第22節", CLK_ACC) //読み込み待ち Procedure waiting(IE) while IE.busy or IE.readyState<>4 Sleep(0.5) wend Fend

  • 先ほど質問したほぉかべです

    カテ違い失礼しました。なにぶん始めてなもので・・・って言い訳にならないですよねorz では 再度質問します UWSCというマクロツールで ランダム質問をクリックしてから”役に立った” (下URL参照)をクリックするプログラムを作りたいのですが うまくいきません。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1263203487 私の作ったプログラムはランダム質問までいくのですがそこからがいきません。 何が悪いのでしょうか? とりあえず私の未完成プログラムを書きますね^^ 皆さんの回答をお待ちしております IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = true IE.navigate("detail.chiebukuro.yahoo.co.jp/qa/rand.php") REPEAT sleep(0.5) UNTIL !IE.busy AND IE.readystate = 4 ret = IELINK(IE,"役に立った!")

  • UWSCに詳しい方助けてください><

    いつもお世話になります。 昨日、UWSCというものを知って、パソコンの操作を自動化できることに感動しました。 プログラミングはほとんどしたことがないど素人なのです^^; 指定したURLから特定の語句のリンクを抽出したく、なんとか抽出することはできたのですが、 重複してしまうリンクがでてきてしまいました。 重複したリンクは取得せず、抽出していく方法がわからず困っております。 重複したリンクをその都度削除、もしくは、エクセルにデータを落として、エクセルの重複削除を自動でやる、といったことでもいいのですが、そのスクリプトをどうやって書いたらいいのか全くわかりません。。。 下記が特定の語句のリンクを取得するスクリプトです。 URL = INPUT("URLを入力してください", "「指定URL」") TOTAL_LINKS = "" IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = True IE.navigate(URL) REPEAT SLEEP(0.1) UNTIL !IE.BUSY AND IE.READYSTATE = 4 LINK_AMOUNT = IE.Document.links.length FOR KAISU = 0 TO (LINK_AMOUNT - 1) IFB POS("特定の語句", IE.document.links[KAISU].href) > 0 TOTAL_LINKS = TOTAL_LINKS + IE.document.links[KAISU].href + "<#CR>" ENDIF NEXT EXEC("NOTEPAD") SENDSTR(GETID("無題 - メモ帳"), TOTAL_LINKS) お力をお貸しくださいm(_ _)m よろしくお願いいたします。

  • 初めまして!質問です

    いつもは、yahoo知恵袋というサイトを利用しているほぉかべと申します。 早速ですが質問をしたいと思います。 本来ならば知恵袋のほうが人がいっぱいいるので知恵袋のほうで質問したいのですが・・・ 知恵袋ですると叩かれる質問なのでここでしてみました。 では質問です UWSCというマクロツールで ランダム質問をクリックしてから”役に立った” (下URL参照)をクリックするプログラムを作りたいのですが うまくいきません。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1263203487 私の作ったプログラムはランダム質問までいくのですがそこからがいきません。 何が悪いのでしょうか? とりあえず私の未完成プログラムを書きますね^^ 皆さんの回答をお待ちしております IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = true IE.navigate("detail.chiebukuro.yahoo.co.jp/qa/rand.php") REPEAT sleep(0.5) UNTIL !IE.busy AND IE.readystate = 4 ret = IELINK(IE,"役に立った!")

  • UWSC初心者(超)です。ご助力願します・・・

    UWSCを始めて5日目です。 スクリプトなんて右も左もわかりません。 http://top.hangame.co.jp/login/index.nhn?nexturl=http://mypage.hangame.co.jp/mynews/index.nhn 上記のサイトを起動し、自動的にID/PWを入力してログインするだけ という、単純な動作を作る為に4日間かけましたが、どうしても上手くいきません。 Repeat id = GETID("", "IEFrame", 0.01) CTRLWIN(id, CLOSE) Until id < 0 IE = CreateOLEObj("InternetExplorer.Application") IE.Visible = True IE.Navigate("http://top.hangame.co.jp/login/index.nhn?nexturl=http://mypage.hangame.co.jp/mynews/index.nhn") BusyWait(IE) CTRLWIN(GETID("ログイン - ハンゲーム"), MAX) めちゃくちゃかも知れませんが、 ここまでは自分でも書け正常に動作しましたが、 問題はフォーム入力で どうやったら文字を打ち込めるのか という点で 自分なりに組み込みましたが、やはり上手くいきません。書けませんしエラーが出ます。 初心者っぽく単純に BTN(LEFT, DOWN, 819,374) と書き込み、 CTRLWIN を使って ID名(平仮名)を入力しようとしましたが、 UWSC実行時にはエラーなどはないのですが、何故だか入力されません。 もう嫌になりました。 贅沢とは思いますが、どうやったら正常に書き込めるのか その構成と解説を宜しくお願いします。

  • UWSCについて

    UWSCに関しての質問です。 エクスプローラを開き表示されるまで、停止させる には下記のように入力すれば上手く動きます。 Repeat Sleep(0.2) Until GETSTR(IE, 1, STR_STATUS) = "ページが表示されました" sckey(IE,VK_tab,VK_tab) ただ、エクセルのファイルを開く時もファイルが開くまで 上記と同様に停止したいのですがどうすればいいのでしょうか。 "ページが表示されました"とIDを書き換えるのかなと個人的に 思いましたが変わりに何を入力すればいいのか解りません。 よろしくお願いします。

  • UWSCというマクロソフトの「UスクリプトCOMエラー」についてです。

    UWSCという「WINDOWSマクロ」のプログラムについてです。 インターネットエクスプレスの特定ページに自動ログインするプログラムを組んだつもりなのですが… 動作させたところ、 ログインページが表示されたところで、下記のようなメッセージが出現します。 「Uスクリプト:COM Error 8行目:UNTIL !IE.BUSY AND IE.READYSTATE4」 どういったメッセージと思われるのでしょうか。 (8行目のプログラムが表示されており、確かにそこで動作が停止してしまいます) 当方初心者ですので、 確実でない回答でも頂ければ、勉強の材料といたしますので 広く回答をいただければ幸いです。 (OS=ウインドウズXP)

専門家に質問してみよう