問題タブ [document.evaluate]
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 - chrome と firefox での document.evaluate
これについて助けが必要です。私はJavaScriptでXPathを使用するのが初めてで、これは私を困惑させました。
私のスクリプトは、xmlhttp を使用して Web ページのコンテンツを取得し、それを「div」でラップします。
このラップされた部門の本体コンテンツにアクセスする必要があり、これを行うために Xpath を使用しています。
これはFirefoxでは完全に機能し、必要なXpathObjectを取得しますが、Google Chromeブラウザでは望ましい結果が得られません. 作成された (そして contextNode として渡された) 'div' 要素の bodyContent 部分を返す代わりに、現在のドキュメント ページの bodyContent を返します。
クロムで確認しました-正しいxmlhttp.reponseTextが受信されました。
これに関するアイデアはありますか?
ありがとう、
javascript - document.evaluate 正規表現
href 属性を持つすべての「a」要素を次の形式で取得したい: http(s)://any.example.com ここで、any は文字や数字のみを含む文字列にすることができます。私は正規表現とXPathが初めてなので、正しく理解できません。正規表現を理解しましたが、100% 正しいかどうかはわかりません: コード:
したがって、XPath は次のようになります。 コード:
しかし、うまくいきません。
誰かが私を助けてくれれば幸いです。
javascript - document.evaluate はコンテンツ スクリプトからは機能しません
これはエラーを与えるコードです。
誰かが私に何が問題なのか教えてもらえますか?
xml - document.evaluate() 内で XPath の contains() 関数を使用するには?
検索された名前に基づいてフィールドを除外するために使用しているコードのこのセクションがあります。問題は、ユーザーが入力できる内容に関して少し寛大にする必要があることです。だから私はcontains
関数を使用する必要があります。他のコード スニペットで動作するようになりましたが、次のコードでどのように使用できるかわかりません。
引用符/エスケープが少し台無しになっている場合は申し訳ありません。エラーをチェックするための IDE を開いていません。作業の準備をしています。
そのように、containsSearchTerm は、フォームの値を取得し、contains
関数を使用して処理したいものです。これはどのように達成されますか?
私は XML、XSLT、および XPath 全般にかなり慣れていないため、可能であれば少し簡略化する必要があることに注意してください。
への返信 マイケル・ケイ -
こんにちは、検索された用語/単語を XSLT テーブル内の author フィールドに適用しようとしています。はい、あなたは正しいです。それが私がやろうとしていることです。スタイルシートを編集し、入力フォーム内で設定した条件を適用します。これまで、ビルド済みの関数を使用してきました。必要に応じて変更します。検索する入力の値をハードコーディングする場合、contain を外部で機能させることができます。ただし、いわば「オンザフライ」で実行したいのですが、私が求めているコンテキストでこれを機能させる方法が本当にわかりません。私が実際に持っているのは、フォーム内に構築されているクエリです-検索するフィールド、オペランド、および検索語を指定します。しかし、文字列全体を検索したくはありません。これは少し柔軟性に欠けるためです。そのため、contains 関数を使用して、検索を柔軟に行えるようにしたいと考えました。
助けてくれてありがとう
javascript - Chrome での xpath 式の評価
xpath式とjavascriptを使用して、このページhttp://www.money.pl/pieniadze/のテーブルからいくつかの行を抽出しようとしています。ページ全体をポップアップとして表示できますが、document.evaluate(); で xpath 式を評価できません。XPathResultType で遊んでみましたが、結果はありません。誰でも助けることができますか?
これが私の背景ページです:
ポップアップページは次のとおりです。
javascript - document.evaluate の使用時に XPath 要素/オブジェクトが定義されていない
「未定義」と表示されず、入力フィールドの値が表示されるように、通常の JavaScript コードを修正するにはどうすればよいですか? jQuery コードは正常に動作し、同じページに入力フィールドの値が正しく表示されます。
通常の JavaScript:
JQuery 1.7.1 コード:
javascript - Selenium WebDriverでJavaScriptを使用してXPathで要素を取得する方法はありますか?
私は次のようなものを探しています:
JS を使用して要素の innerHTML を取得する必要があります (WebDriver はそれ自体を見つけることができないため、Selenium WebDriver/Java でそれを使用するには)。
ID 属性を使用できますが、すべての要素に ID 属性があるわけではありません。
[修繕]
私はjsoupを使ってJavaでそれを成し遂げています。それは私のニーズに合っています。
javascript - 時間を追加したいですか?
自動送信またはClick
(ボタン)コードがありますが、このコードに2秒間の遅延時間を追加したいですか?
ここにコード:
助けてください、ありがとう!
javascript - IE JavaScript エラー: document.evaluate の不正な # 文字
このスクリプトは IE のみをサポートするように開発されています
私はこれを持っています:
既知の xpath を使用。
xpathは次のとおりです。
このエラー メッセージが表示される理由:
実用的な例、単純なもの: http://jsfiddle.net/gWpcU/6/
クラッシュする例: http://jsfiddle.net/YkwTM/
dom - document.evaluate('.', document.body, null, XPathResult.ANY_TYPE, null).singleNodeValue が例外をスローするのはなぜですか?
XPathResult.FIRST_ORDERED_NODE_TYPE
XPath エバリュエーターに代わりに (8) またはANY_UNORDERED_NODE_TYPE
(9) が必要であることを伝えた場合body
、期待どおりに要素を取得しますが、他のすべての結果タイプではThe expression cannot be converted to return the specified type.
例外が発生します (Firefox では、WebKit と Opera はあまり寛大ではないように見えます。代わりに名前を付けTYPE_ERR: DOM XPath Exception 52
ます。
何が起こっている?"."
そして、わかりやすくするために質問を言い換えると、コンテキストノードを選択するのは、単一ノードの結果として明確に推測されるのではなく、タイプエラーである理由です"self::node()"
。人間?
(参考までに.singleNodeValue
、エラーをトリガーするのは特にアクセスではありません。すべての XPathResult のプロパティは、この同じエラーを示しています。)