2017-06-02 17 views
0

私はPowerShellでInvoke-WebRequest機能を使用していますが、私はしかし、それをプリントアウトするとき、それは私にすべての単一の要素を与えるこのを呼び出し、WebRequestクラスのすべての要素

$WebResponse = Invoke-WebRequest $siteExt 
$WebResponse.AllElements | ? { $_.Class -eq 'price' } | select innerText 

をつかんでいます - .AllElementsが暗示するように。しかし、それは5つの価格を印刷していると言うことができ、私は具体的にそれらのポジションの1つを取得し、保存し、出力したい - すべての3番目の値を言うことができます。それを行う方法はありますか?

現在はこれを出力します。

innerText 
--------- 
$31.00 
$72.00 
$209.95 

私はちょうどかかわらず、最初の値が欲しいです。すべてではありません3.私はまたそれをリストに保存したいと思います。

+0

が道には適用されませんが、起動 'WebRequest'機能 - 私は信じています。私はカウントする方法、変数を格納する方法、およびそれらを反復する方法を知っています。しかし、WebRequest関数を使って情報を積極的に取り込んでいるとき、私はそれらの概念をどのように適用するのか分かりません。私の質問は、返される「すべての要素」のどれか1つだけを選択する方法です。 – KangarooRIOT

+0

"* WebRequest関数を呼び出す方法には適用されません - 私は信じています*" - なぜそれを信じますか?あなたは*動作していると信じていなければなりません。あなたはあなたの質問の中であなた自身のコードでフィルタリングと選択の両方を使用し、そこではうまくいくと思っています。 – TessellatingHeckler

答えて

1

これを試してください。ただ、最初の :

$WebResponse.AllElements|?{$_.Class -eq 'price'}|select innerText | select -first 1 

第三毎週:

$WebResponse.AllElements | ?{$_.Class -eq 'price'} | select innerText | select -index ((1..$WebResponse.AllElements.Count)| % {$p=$_;if(($_ %= 3) -eq 2){[string]$p+","}}) 

- それら@TessellatingHeckler

+0

Brilliant!私はそれをする方法を見つけることができませんでした。私の良い先生ありがとう! – KangarooRIOT

+0

どのように私はその値をリストに保存することができますか? :) – KangarooRIOT

+0

はい...それはあなたの宿題です。あなたがより良いバージョンを考え出すことができるようにそれを切り取ることを忘れないでください;) –

関連する問題