質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Internet Explorer

Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Q&A

4回答

14680閲覧

IE11で、ファイルダウンロードの自動化(UWSC,Win32API)

tkgoya

総合スコア7

Internet Explorer

Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

0グッド

0クリップ

投稿2016/11/01 07:30

編集2022/01/12 10:55

###前提
緊急です。
下記のような定型処理があります。
0. IEで、あるサイトにログイン。

  1. テキストボックスに検索条件を入力し、エンター(①)。※ダウンロード可能なファイル一覧が表示
  2. 1件目のファイルを選択、ダウンロードボタンを押下。
  3. ダウンロード通知バーより、「名前を付けて保存」をクリック(②)

これをUWSCにて自動化・スケジュール登録し、運用しているのですが、
実行端末(Win7)にリモートデスクトップで接続していないと動作しません。

###実現したいこと
実行端末(Win7)の電源を入れた後、一度だけリモートデスクトップにてログインを済ませたら、
二度とリモートデスクトップで接続しなくても、きちんと動作するようにしたいです。

###発生している問題
前提にある、エンター(①)クリック(②)の部分が主な原因と考えております。

  • まずエンター(①)ですが、検索ボタンがある訳ではなく本当にエンターキーを入力しないといけません。これをKBD(VL_RETURN)で実装しているのですが、非ログイン時には上手くエンターキーが送信されず、動作しません。
  • 続いてクリック(②)ですが、IE9以降、ファイルダウンロード時に出現するようになったダウンロード通知バーをクリックせねばならず、BTN(LEFT,CLICK,782,300,100)のように座標指定でクリックするという実装ですが同じく非ログイン時にはクリックされず、ダウンロードできません。

###その他
UWSCじゃなくても、Win7上で動作するものであれば何でも構いません。何でもいいのでみなさんの知恵をお貸しください。宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

同様の開発実績があります。

エンター①はウィンドウのIEを取得し、

SCKEY(window_id, VK_RETURN)

とすることで対象のウィンドウに対してキー操作が実行されます。

クリック②は座標指定でなくても、別スレッドの動作を監視し、
ダウンロード通知バーが表示された際に指定ボタンをクリックする
方法で解決できそうです。

Thread PopupWin() 3番の処理 省略 Procedure PopupWin() id = GetID("Windows", "#32770", -1) CLKITEM(id, "名前をつけて保存", CLK_ACC) 省略 Fend

投稿2017/02/24 00:53

sinmei99

総合スコア88

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

普通のデスクトップアプリケーションではなくウェブブラウザであれば、
uwscではなくSeleniumの方がいいかもしれません。
Seleniumはweb特化型のGUI自動テストツールです(というかwebオンリーだったかな?確か)
WebのUIテスト自動化 - Seleniumを使ってみる

後はこれとjenkinsとか使えばリモート上で完全自動化できる・・・かも?
上記ふたつを組み合わせて自動で初音ミクの画像を収集する方法の解説サイト

投稿2016/11/02 06:23

ishi9

総合スコア1294

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

wshを使用して自動スクリプトを作成してみては?

vbs

1'IE待ち 2Sub IEWait(IEObj) 3 Do While IEObj.Busy = True Or IEObj.readystate <> 4 4 WScript.Sleep 100 5 Loop 6 WScript.Sleep 1000 7End Sub 8 9 10Set IE_APP = CreateObject("InternetExplorer.Application") 11With IE_APP 12 .Navigate "https://www.google.co.jp/" 13 .Visible = True 14End With 15 16 17'表示待機 18Call IEWait(IE_APP) 19IE_APP.Document.forms("tsf").item("q").value = "検索文字列" 20 21 22'検索文字列を入力すると画面が切り替わる為待機 23Call IEWait(IE_APP) 24 25 26'検索クリック 27IE_APP.Document.forms("tsf").item("btnK").Click 28Call IEWait(IE_APP) 29 30 31 32

投稿2016/11/01 08:06

編集2016/11/01 09:37
himakuma

総合スコア952

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tkgoya

2016/11/01 08:16

wshでも、実現可能であれば試してみたいです。 問題の「エンターキー送信」や、「ダウンロード通知バーのクリック」について、何かアイデアありますでしょうか?
himakuma

2016/11/01 09:10

Enterではなければいけないのですか?ボタンの押下とか、submitができればいいのでは?「ダウンロード通知バーのクリック」もクリックのイベントを呼び出すのでは駄目ですか?
guest

0

UWSCは分からないため、回答に値しないかもしれませんが…
UWSCのFAQにて、代替コマンドが例示されていますので、試してみてはいかがでしょうか?
リモートデスクトップにて 最小化や接続を切った場合に動作しない

投稿2016/11/01 08:04

can110

総合スコア38233

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tkgoya

2016/11/01 08:12

早速のご回答、まことにありがとうございます。 頂いたリンクですが、FAQ#N44は見落としておりました。早速試してみます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問