初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2017-05-08 11:41:03

見習い
Member

WEBビューアの検索フォーム

FM14PRO adv
WIN7

いつもお世話になります。
あるサイトの検索を自動化したいのですが
JAVAのやり方がいまいちわかりません。

具体的にお聞きしたいのですが

https://www.8710.co.jp/placement-search/

上記サイトの中段に配置図検索というのがあります。
(ちなみに今は90001という番号を検索すると第3立体が点滅します)

こちらで検索に必要な番号はレコードで保持しています。

その番号を検索フォームに入力した結果をWEBビューアで表示したいです。

ご教示頂ければ幸いです。

Offline

#2 2017-05-08 20:07:51

Hiro
Member

Re: WEBビューアの検索フォーム

・Webビューア「"WebView"」に目的URLサイトを表示して、
・Webビューアを設定["WebView":以下のURLへ移動]
   "javascript:function f(){document.getElementById('keywords1').value='" &テーブル::番号フィールド& "';document.getElementById('searchBtn1').click();};f();"

Offline

#3 2017-05-09 09:53:10

見習い
Member

Re: WEBビューアの検索フォーム

Hiro wrote:

・Webビューア「"WebView"」に目的URLサイトを表示して、
・Webビューアを設定["WebView":以下のURLへ移動]
   "javascript:function f(){document.getElementById('keywords1').value='" &テーブル::番号フィールド& "';document.getElementById('searchBtn1').click();};f();"

ありがとうございます。

追加でお聞きしたいんですが
マップ上の色が点滅した部分を読み取る方法はありますか?

そのPNGファイル名を取得でもかまいません。

ソースを見ても判断できなかったのでご教示頂ければ幸いです。

Offline

#4 2017-05-09 11:25:58

Hiro
Member

Re: WEBビューアの検索フォーム

JavaScriptで動的にDOM操作しているため、オリジナルソースからは取得不能です。
因みに、初期設定されたマップ画像を、CSSのOPACITYで表示・非表示を制御しているようです。

Offline

#5 2017-05-09 11:45:52

qb_dp
Member

Re: WEBビューアの検索フォーム

>JavaScriptで動的にDOM操作しているため、オリジナルソースからは取得不能です。
Hiroさん、以下のようにすると値の取得がでるんです。
javascript:var str=document.getElementById('{id}').innerText;location.href = "fmp://$/{ファイル名}?script=test&$argu="+str;

Offline

#6 2017-05-09 12:07:47

Hiro
Member

Re: WEBビューアの検索フォーム

> #5 qb_dpさん
アドバイス、ありがとうございます。
その方法は検討したのですが、
「id」がなく「class」となるので、
「配列」結果の解析が面倒だし...、
外出時間ということもあって...。

Offline

#7 2017-05-09 13:19:08

見習い
Member

Re: WEBビューアの検索フォーム

こ、これはURLのところにそのまま入れてもダメですよね??

Offline

#8 2017-05-09 13:22:54

見習い
Member

Re: WEBビューアの検索フォーム

もうひとつ相談が違うURLであります。

http://www.asnet2.com/asnet/auth/login/

これなのですが
"javascript:function x(){document.getElementById('memberId').value='" &"ID546589"& "'};x();"

上記述でIDのところにサンプルの数値は入りました。
ですが同じ要領でパスワードの方を作っても何も入力されません。

ソースを見たらパスワードの方にはIdというのがどこを見てもありません、というのが原因でしょうか。

合わせて認証ボタンを押すJAVAまで教えて頂けると幸いです。

よろしくお願いします。

Offline

#9 2017-05-09 13:36:35

qb_dp
Member

Re: WEBビューアの検索フォーム

JAVAではなく、JavaScriptですよ~。JAVAとJavaScriptは、まったくの別物です。
このような処理をするには、JavaScript、DOM の勉強をする必要があります。
WEBページは、それぞれ記述が違うので、解析は面倒です。
属性に id が無く Neme がある場合は、それを利用します。
例:
document.getElementsByName('memberPw')[0].value='xxxx'

Offline

#10 2017-05-09 14:08:48

見習い
Member

Re: WEBビューアの検索フォーム

すいません。
できました、ありがとうございます。

javascript:function x(){document.getElementById('memberId').value='" &"xxxxxx"& "';
document.getElementsByName('memberPw')[0].value='" &"xxxxxx"& "'};x();

無事に入ったんですが認証のボタンを押すにはどうしたらいいでしょうか。

細かく聞いて申し訳ないですがよろしくお願いします。

Offline

#11 2017-05-09 14:25:00

見習い
Member

Re: WEBビューアの検索フォーム

いけました!!
違う記事のを参考にしたらログイン後のページが取得されました!!


javascript:var str=document.getElementById('{id}').innerText;location.href = "fmp://$/{ファイル名}?script=test&$argu="+str;

ちなみにこれはどう使うのでしょうか・・・

Offline

#12 2017-05-09 22:27:43

Hiro
Member

Re: WEBビューアの検索フォーム

#3 > マップ上の色が点滅した部分を読み取る方法はありますか?
#3 > そのPNGファイル名を取得でもかまいません。

試したら、思ったより簡単に、PNGファイルパスと点滅画像の双方とも取得できました。

javascriptでclassターゲットのinnerHTML(<img />の一覧)を取り出し、
それをクリップボード経由でFM渡しし、目的文字列部分だけを算出しています。
これらの一連の流れをスクリプトに一本化して全自動のWeb検索を実現しています。


●サンプル「自動Webサーチ.fmp12」(※windows版に限定)→ http://yahoo.jp/box/fsmHV4

Offline

#13 2017-05-09 22:29:56

qb_dp
Member

Re: WEBビューアの検索フォーム

見習い wrote:

javascript:var str=document.getElementById('{id}').innerText;location.href = "fmp://$/{ファイル名}?script=test&$argu="+str;
ちなみにこれはどう使うのでしょうか・・・

fmp:プロトコルを使って、WEB上の情報をFileMakerで取得します。
提示のサイト(https://www.8710.co.jp/placement-search/)の色が変わった要素のsrcを取得するには、

例:
ファイル名:test
スクリプト名:testscript
カスタムダイアログを表示 [$arg]

Web ビューアの設定 [オブジェクト名: "WEB1"; URL: 
"javascript:
var obj=document.getElementsByClassName( 'mapMap' )[0] ;
var arr=obj.getElementsByTagName('img');
for (var i = 0; i < arr.length; i++){
if(arr[i].style.opacity==1){
var src =arr[i].src;
break;
}
}
location.href = 'fmp://$/test?script=testscript&$arg='+src;"

上記のようにすると、 'fmp://$/test?script=testscript&$arg='+src;"
で、ファイル名:test の スクリプト名:testscript が実行され、変数:$arg を取得できます。
※ファイル名、スクリプト名は、任意のモノに変更して下さい。エンコードが面倒なのでファイル名、スクリプト名は、アルファベットが良いでしょう。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 532.82 KiB (Peak: 553.73 KiB) ]