HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
0516
PonyoHTMLのソースではなく実行結果(?)の取得方法とは?4解決


Ponyo

リンク

2019/5/16(Thu) 06:40:23|NO.87358

続けて質問させていただきます。すいません(^^;)

今回も質問の内容が多分分からないと思うので
https://cpuponyo.web.fc2.com/Ponyo.apiLocation.html
↑の私のテストサイトに行くと多分文字だけでいろいろと表示されているのですが、
こういった<body>内の実行結果(?)をHSPで取得したいと思っています。
ただ残念ながら、実行結果ではなくそのHTMLソースそのものを取得しか出来ませんでした。

[例] 「テスト」という文字を取得したいはずが、ソースそのもののを取得してしまう。

<html> <head> <script> function test() { document.write("あああ"); } </script> </head> <body onload="test()"> </body> </html>

いろいろ検索したのですが、さすがにこのようなものに関連している
記事が私の場合は見つかりませんでした(^^;)
詳しい処理の説明など出来れば教えてもらいたいです。
上から目線で申し訳ございませんが、何卒宜しくお願い致します。



この記事に返信する


Tsuyoshi

リンク

2019/5/17(Fri) 00:35:31|NO.87366

hspinet等で直接読み込んだ場合は、javascriptが実行されずにコードだけ読まれてしまいますね...

体裁を気にされないのでしたら、IEの機能を借りて、下記のように取得できます。
IEを開いて、javascriptを実行してもらって、結果だけ返してもらいます。


url = "ここに取得したいURL" // COMオブジェクト準備 newcom ie, "InternetExplorer.Application" ie("Silent") = 1 ie("Visible") = 1 ie->"Navigate" url // 読み込み待ち repeat wait 10 if ie("Busy")==0 : break loop // 結果 obj = ie("Document") obj_body = obj("body") text = obj_body("innerHTML") // body内のテキストを取得 delcom ie // 取得した結果を表示 pos 0,0 mes text



Ponyo

リンク

2019/5/17(Fri) 07:27:30|NO.87368

申し訳ないのですが実行してみたらそもそも私のJSのスクリプトが
ソース内で表示されませんでした(^^;)
FC2が悪いのか私のソースが悪いのか分かりませんので一度確認していきます。(^^;)
Tsuyoshiさん、本当にすいません(^^;)



砂時 計

リンク

2019/5/18(Sat) 15:22:57|NO.87384

実行結果を取得するのは Tsuyoshi さんの方法を参照いただくとして。

document.write は body の中の script に置いて使います。
外から書き換えたい場合は document.body.innerHTML に代入するなどの手法があります。


<html> <head> <script> function test() { document.body.innerHTML = "あああ"; } </script> </head> <body onLoad="test()"> </body> </html>



Ponyo

リンク

2019/5/19(Sun) 09:45:14|NO.87401

私の環境では理想の結果にはなりませんでしたがいろいろと分かってきた所があるので、
一応解決という結果にします、勝手ながらすいません(^^;)

Tsuyoshiさん 砂時 計さんありがとうございました。m(._.)m



ONION software Copyright 1997-2021(c) All rights reserved.