##やりたいこと
pythonからIEブラウザ(IE11)を使ってローカルのhtmファイルを読み込み,JavaScriptによってhtmファイル内の各idの要素のIEブラウザ表示時の寸法(高さ)を二次元配列(idと高さ)として変数化する。この二次元配列を再びPython側で受け取り,データ分析に利用したいと考えています。
##行き詰まっている点
二次元配列の作成まで実現しているのですが,この二次元配列をPython側に渡す方法について実装できておらず,自力で調べた結果では解決できませんでした。調べた結果ではAjaxが使える?というような考えはあるのですが,JavaScript初心者なため行き詰まってしまいました。
##コード
ローカルのhtmファイルのサンプル(Sample.htm)です。
htm
1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="UTF-8"> 5 </head> 6 <body> 7 <section class="contents"> 8 <p id="p1">テスト</p> 9 <p id="p2">テ<br>ス<br>ト</p> 10 </section> 11 <script src="./script.js"></script> 12 </body> 13</html>
上記のhtmファイルにおけるJavaScriptコード(script.js)は現状以下のとおりです。
javascript
1var all_ids = document.querySelectorAll("[id]"); 2var id_height_list = []; 3 4for (var cnt = 0; cnt < all_ids.length; cnt++){ 5 var temp_list = []; 6 var temp_id = all_ids[cnt].id; 7 var temp_size = all_ids[cnt].getBoundingClientRect(); 8 9 temp_list.push(temp_id); 10 temp_list.push(temp_size.height); 11 12 id_height_list.push(temp_list) 13} 14 15
以下のPythonコードによってIEブラウザ表示させています。
python
1import webbrowser 2url = "file:\\D:\省略\Sample.htm" 3 4browser = webbrowser.get("C:\省略\iexplore.exe") 5browser.open(url)
JavaScriptコード中のid_height_listがPython側で取得したい変数です。
id_height_listの中身が実際に私が取得したいデータであることは確認済みなのですが,Python側で取得するためのここから先のコードができておりません。
初心者なため,ありふれた質問なのかもしれませんが上記変数の取得方法についてご回答いただけると大変助かります。
どうぞよろしくお願いします。
###試したこと
リンク先(https://techacademy.jp/magazine/28206)にあるような変数を書き出す方法は試したのですが,この場合,保存の際にクリックする作業が必要となってしまったため,見送りました。
今回,この処理を行うファイルが10000件を超えるため,可能な限り自動化したいと考えています。
####環境
Python 3.7.7
Internet Explorer 11
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/04 08:11