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

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

新規登録して質問してみよう
ただいま回答率
85.48%
UWSC

UWSCは、Windowsの作業を自動化するソフトです。マウスとキー入力を記録して代行することが可能。スクリプト形式により自由に編集することもできます。スケジュール機能を持ち、Excelとの連携も可能です。

Q&A

解決済

1回答

1533閲覧

UWSCで複数のサイトのh1タグを取得したい

ratera

総合スコア54

UWSC

UWSCは、Windowsの作業を自動化するソフトです。マウスとキー入力を記録して代行することが可能。スクリプト形式により自由に編集することもできます。スケジュール機能を持ち、Excelとの連携も可能です。

0グッド

0クリップ

投稿2019/02/10 19:30

UWSCで複数のサイトのh1タグを取得したいです。

以下のテスト用のスクリプトを書いていて、1回ループする間に別のサイトに手動で切り替えています。
そのため、titleには毎回異なるh1タグの最初の値が入ってくるはずですが、
初回ループの時の値がずっと入り続けていて更新されません。

その原因を教えてほしいです。

IE = GETACTIVEOLEOBJ("InternetExplorer.Application") ID=GETID("Internet Explorer","IEFrame") SLEEP(1) while true pTag = IE.document.getElementsByTagName("h1") GETOLEITEM(pTag) TRY title = ALL_OLE_ITEM[0].innerText SETCLEAR(ALL_OLE_ITEM) EXCEPT print "error34" ENDTRY sleep(1) wend

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

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

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

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

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

teritama

2019/02/10 21:27

print titleを追加して、yahooニュースで動作確認すると値は更新されました。値が更新されない状況を詳しく教えてもらえますでしょうか。
ratera

2019/02/11 06:24 編集

ご返信ありがとうございます。 理由はわからないのですが、 `pTag = IE.document.getElementsByTagName("h1")` の前に `IE = GETACTIVEOLEOBJ("InternetExplorer.Application")` を加えると解決しました。 事象は、以下2点となります。 ・(2週目のループからサイトを開いて十分な時間を経過しているのにもかかわらず)ptagの値が入っておらず、ALL_OLE_ITEM[0]を取得できずエラーとなる。 ・ALL_OLE_ITEM[]の配列オーバーとなってしまう windows7で頻繁に上記エラー起きるうえに正常にh1タグを取得できません。 一方で、win10ではh1タグは取得できることが多いものの、時々失敗したり、上記のエラーとなる状態です。 もし原因に心当たりがありましたらご教授頂けると幸いです。
guest

回答1

0

ベストアンサー

titleには毎回異なるh1タグの最初の値が入ってくるはずですが、

確かそのようにはなっていないと思います。

直すとすれば、最初の3行の

uwsc

1IE = GETACTIVEOLEOBJ("InternetExplorer.Application") 2ID=GETID("Internet Explorer","IEFrame") 3SLEEP(1)

の部分もループ内に入れてみてはいかがでしょうか。

要点を明瞭にするため簡略化しておりますが、下記のテストコードでうまくいきました。

uwsc

1while true 2 IE = GETACTIVEOLEOBJ("InternetExplorer.Application") 3 ID=GETID("Internet Explorer","IEFrame")//ちなみにこのテストコードではこの行は不要 4 pTag = IE.document.getElementsByTagName("h1") 5 fukidasi(ptag.item(0).innerText) 6 7 sleep(1) 8wend 9

投稿2019/02/26 07:13

mohirain

総合スコア31

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問