0

この質問の定式化が不十分だった場合は、事前にお詫び申し上げます。私はWebコーディングにかなり慣れていません。

私の目標は、JavaScript を使用して Web ページをスキャンし、特定の文字列が存在するかどうかを判断することです。ここでの問題は、ページが動的にレンダリングされるため、問題の文字列がソース コードに表示されないことです。

ページにレンダリングされた場合、文字列は DOM に表示されますか? DOM をスキャンすると、そこにあることがわかりますか? また、その場合に考慮すべき特別な考慮事項はありますか?

基本的に、ソース コードではなく、ページにレンダリングされたテキストをスキャンする簡単な方法を探しています。私のブラウザの「ページ上で検索」機能は、問題の動的にレンダリングされたページで機能するため、これは何とか可能であるに違いありません。ブラウザ API 自体を介して、ページ上のレンダリングされた要素にアクセスする方法はありますか? (私はChromeを使用しています。)

4

1 に答える 1

1

これを試して:

var stringToSearchFor = 'foobar';
var searchThisString = document.body.innerText || document.body.textContent;
var found = (searchThisString.indexOf(stringToSearchFor) >= 0);

これにより、すべてのマークアップを無視してページからテキストが抽出され、結果の文字列が単純にスキャンされます。

FireFox の一部のバージョンでは、インライン スクリプト タグの内容が含まれます。

于 2013-10-18T00:09:08.673 に答える