前提・実現したいこと
webviewを使って簡易ブラウザを作りたいと思っています。その中でグーグルストリートビューを表示させ、クリックしてストリートビューが進んだ先のURLをパラメーター(緯度経度)付取得したいです。
例えば、chromeやEdgeなどのモダンブラウザではストリートビュー上を移動した都度、アドレスバーに移動先のストリートビューのURLがパラメーター(緯度経度)付で表示されます。
ところが、
・pywebview
・javaFXのwebview機能
を試してしてみましたが、新しいストリートビューのURLを取得することができません。
因みに、ストリートビュー以外、例えばグーグルの検索画面やyahooの検索画面を初期値に指定して検索した結果表示される画面のURLは取得できます。
ストリートビューだけ取得できません。
どのようにしたら新しい移動先のURLを取得することができるのでしょうか。
上記pywebview、javaFX以外でも構いませんので取得方法を教えてください。
補足ですがjavascriptで取得しようとするとクロスドメイン制約に引っかかるので取得することはできません。
よろしくお願いします。
ソースコードはpywebviewで初期値にストリートビューを指定したものです。初期のストリートビュー画面でクリックして進んだ後のURLを取得することができません。
該当のソースコード
python
1import webview 2 3def on_loaded(): 4print("OK") 5gcu = window.get_current_url() 6print(gcu) 7 8if name == 'main': 9window = webview.create_window('Streetview URL', 'https://www.google.com/maps/@35.687365,-105.9390126,3a,75y,35.56h,89.92t/data=!3m7!1e1!3m5!1sfNKGZXp1FF6qwXH_cNSgwg!2e0!6shttps:%2F%2Fstreetviewpixels-pa.googleapis.com%2Fv1%2Fthumbnail%3Fpanoid%3DfNKGZXp1FF6qwXH_cNSgwg%26cb_client%3Dmaps_sv.tactile.gps%26w%3D203%26h%3D100%26yaw%3D93.79706%26pitch%3D0%26thumbfov%3D100!7i13312!8i6656?hl=en') 10window.loaded += on_loaded 11webview.start(gui='edgechromium')`
試したこと
pywebviewとjavaFXで試してみました。それ以外は試していません。
補足情報(FW/ツールのバージョンなど)
pywebview version: 3.5
operating system:windows10
pywebviewのweb renderer: default,edgechromium
あなたの回答
tips
プレビュー