2016-09-25 4 views
-2

数字をランダムに生成する特定のWebページがあります。たとえば、"Frequency : 21"です。番号21をとり、別の変数と比較してからif else関数と比較するスクリプトを作成しようとしています。基本的には、ほとんど完了しましたが、番号21を取得できません。ランダムなので、私は固定値を入れることができません。
誰も私を助けることができますか?Javascriptを使用して大規模なWebページからテキストの一部を取得したいのですが、どうすればよいですか?

私のコードは次のようになります:私はしたいテキストのアドレスが

setTimeout(MyFunction,5000) 

function MyFunction(level,legmin) { 
    var level = x 
    var legmin = 49 
    if (level <= legmin) { 
    location.reload(true) 
    } 
    else { 
    alert("Met requirements.") 
    } 

です:

html>body>div#container>div#contentContainer>div#content> 
div#scroll>div#scrollContent>div>div>div#pkmnappear>form>p (x in the code above). 
+0

が続くことを前提としています。 JavaScriptには 'querySelector'と' querySelectorAll'があり、CSSスタイルのセレクタを使って要素を選択します。したがって、... var level = Number(document.querySelector( "div#pkmnappear> form> p")。textContent) ' –

+0

'Frequency:'という単語がそこにある場合は、変換前に基本的な文字列メソッドを使用して削除しますこれを 'Number'に変換します。 –

+0

質問は明確ではありません。おかげさまで – zioMitch

答えて

0

間に合わせのn-ソリューション正規表現なし。

var lookFor = "Frequency : "; 
var text = document.querySelector("#pkmnappear>form>p").textContent; 
var level = text.substr(text.indexOf(lookFor) + lookFor.length).split(" ")[0]; 

これは、数はあなたがあなたの質問内のセレクタを提供するスペース

+0

状況をさらに複雑にすると、ウェブページのように値を生成したり、テキストを表示したりすることができます。値はランダムですらあります。この場合、50を超える値が得られるまでリロードしたいのですが、どうすればいいですか?私はしようとしましたが、テキスト部分にはまってしまいました。 (テキスト部分はdiv> div> div#pkmnappearの下にあります) –

+0

@ParthMane:コード内の 'level'が50より大きい数値かどうかをチェックするには' var levelNum = Number(level); var isGreaterThan50 =(Number.isFinite(levelNum)&& levelNum> 50) '。私はリロードの意味を理解していないので、さらに助けが必要な場合はさらに説明してください。 – Drkawashima

+0

リロード部は、希望の周波数が得られるまでページをリロードします。その部分は簡単です、そうでなければ{reload(true)} –

関連する問題