問題タブ [jsdom]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Windows 7 x64でのcontextifyの構築(NodeJS jQueryの場合)
node-jqueryを機能させようとしています。contextifyは依存関係の1つです(jsdomに必要です)。
contextifyは、Pythonを使用して何らかの方法で構築する必要があります。しかし、これはWindows7x64では機能しないようです。少なくとも1台の私のコンピューター:)
いくつかの読み取り(#10、#12、#17 )と、このフォークとこれによって提供されるいくつかのバイナリを試した後、私はそれを動作させることができます...
node-gyp configure
()からまたはnode-gyp rebuild
( )から同じエラーが発生しましたnpm install jquery
:
構文エラーがあるようです...私はPythonにあまり慣れていません。
これが私のバージョンです:
- Python:3.2.3
- NodeJS:0.6.14
誰かアイデアがありますか?
ありがとう!
javascript - Node.js-堅牢なHTML解析+HTMLのjavascript関数へのアクセス
私はノードを初めて使用し、次のサンプルページからJavaScript情報を抽出しようとしています。
contrived.html:
Jsdomは、デフォルトのパーサーを使用してこのHTMLをチョークするため、githubのaredridel/html5パーサーを使用しました。jQueryを介してHTMLで読み取る場合は機能するようですが、jsdomとそのデフォルトのパーサーで行ったような関数定義にアクセスできません。
たとえば、次のようになります。
デフォルトのパーサーを使用すると、配列が得られます。
HTML5パーサーを使用すると、次のようになります。
これが私のコードです:
私は何かが足りないのですか、それともこの機能が利用できないだけですか?
どうもありがとう。
css - JSDOMにスタイルシートを追加するにはどうすればよいですか
私は現在、計算されたスタイルをJSDOM経由でブラウザーに送信する必要があるプロジェクトに取り組んでいます。私は現在、いくつかの基本的なCSSをJSDOMに挿入して、正しいインラインスタイルを計算できるようにする方法を探しています(はい、それは悪いことです)。
私が見つけたところから、JSDOMレベル2を使用できますが、そこからスタイルを挿入する方法に関するドキュメントが見つかりません。
これは私がこれまでに持っているものです。
私はcssをheadタグに挿入していますが、役に立ちません。そして、私は上記のコードも間違って実行している可能性があることを知っています。
どんな助けでも素晴らしいでしょう。
debugging - jsdom と Contextify エラー
ノード アプリケーションは Macbook で正常に動作しますが、Rackspace のサーバーに公開すると、これまでに見たことのない次のエラーが表示されます (重要なパスが [...] に置き換えられました)。
javascript - jsdom document.createWindow() は、空でないドキュメントに対して空を返します
https://github.com/tmpvar/jsdomのセクション「Creating a browser-like BOM/DOM/Window 」の下の非常に短くて簡単なセットアップ手順に従おうとしています。残念ながら、3 行目 (.createWindow ステップ) の後、console.log(window) を実行すると、空のオブジェクトが出力されます。少なくとも window.document があるはずですが、ありません。document.createWindow は jsdom.createWindow と同じように動作しているようです。
これまでの私のコードは次のとおりです。
それで、私が間違っている愚かなことは何ですか?
FYI ドキュメントは正しく作成されています。それを印刷すると、非常に大きなオブジェクトが出力されます。
私はMacを使用しています。
javascript - [jsdom+qs]を使用してhtmlをスクレイピングする
jsdomとquerystringを使用するのは初めてです。track_id
すべてのiframehtmlタグ内のすべてのsoundcloudのページをスクレイプしようとしています。undefined
最初のiframeはsoundcloudプレーヤーではないため、以下のコードはログに記録されます。
どうすれば...
- コードを変更して、すべてのiframeインスタンスを取得します
jsdom / qsを使用して、存在するかどう
/li>http://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F
かを確認します。soundcloud
(if文字列に文字列型のjsテストが含まれている場合は使用できますが、jsdom / qsを使用する方が良い方法があると思います)。
node.js - Mac に JSDOM をインストールする際の問題
node.js サーバーで使用するために jsdom を起動して実行しようとして、npm install jsdom というコマンドを使用すると、次の一連のエラーが発生します。誰かがこの問題を明確にするのを手伝ってくれませんか? contextify をインストールできないため、問題がある可能性もあると思います...事前に感謝します!
macos - Macで実行すると割り当てが失敗する
PCとLinuxで正常に実行されるnode.jsプロジェクトがありますが、Mac(Mountain Lion)で実行すると、jQueryモジュールが機能しません。ウィンドウオブジェクトのプロパティへの割り当てはすべて無視されます。
あれは
例外をスローします。それを解決するためのアイデアはありがたいです
オブジェクトのプロトタイプは、undefined
これら2つのことが関連していることを期待しています。ウィンドウオブジェクトは、jsdom.createWindow()を使用して作成されます(これにより、doc.parentWindowが返されます)。
下の行が原因のようです
これは実際のオブジェクトを返します(プロトタイプなし)。
node.js - 悪いHTMLからDOMを「解決」するChromeの機能を複製するにはどうすればよいですか?
cheerioとnode.jsを使用してWebページを解析し、cssセレクターを使用してその上のデータを検索しています。Cheerioは、不正な形式のhtmlではあまりうまく機能しません。jsdomの方が寛容ですが、どちらも動作が異なり、特定の場合にもう一方が正常に機能すると、両方が機能しなくなるのを確認しました。
Chromeは、DOMの作成において同じ不正な形式のhtmlでうまく機能しているようです。
不正な形式のHTMLからDOMを作成するChromeの機能を複製し、このDOMの「クリーンな」html表現を処理のためにcheerioに渡すにはどうすればよいですか?
このようにして、取得したhtmlが整形式であることがわかります。page.contentを設定してphantomjsを試しましたが、page.contentの値を読み取っても、htmlの形式が正しくありません。