2017-07-17 52 views
-2

我試圖從網頁解析數據。代碼很簡單從網頁獲得<選項值>的TD

$site = "www.mytable.com/hop/page.sh" 
$test = Invoke-WebRequest $site -UseDefaultCredentials 

我需要從選項輸入TD中獲取主機數據。 HTML代碼如下所示:

<TD WIDTH="40%" VALIGN=TOP> 
    <FORM METHOD="POST" NAME=selectionform ACTION="/hop/page.sh"> 
    <TABLE SUMMARY="Selection table" BORDER=0 WIDTH="100%"> 
     <TR><TD WIDTH="100%" VALIGN=TOP> 
      <TABLE SUMMARY="Maintenance input" BORDER=0> 
       <TR><TH ALIGN=LEFT>Hosts</TH><TH ALIGN=LEFT>Tests</TH><TH>&nbsp;<TH></TR> 
       <TR> 
       <TD WIDTH="50%" ALIGN=LEFT> 
         <SELECT MULTIPLE NAME=hostname SIZE=15 onChange="updateOptions(window.document.selectionform.hostname.options[selectedIndex].text);"> 
          <option value="TEXT">TEXT</option> 
    <option value="TEXT1">TEXT1</option> 
    <option value="TEXT2">TEXT2</option> 
    <option value="TEXT3">TEXT3</option> 
             ....</TD> 

我怎樣才能得到全部採用Invoke-WebRequest這些期權價值的?

+1

請修改問題以包含您嘗試過的代碼並描述它如何或不適合您。 – lit

+0

沒有什麼可編輯的。我正在嘗試爲網頁的html內容添加內容。我想知道我應該用什麼方法來捕獲

+0

而且沒有任何表格或其他元素ID。所以我不能使用getElementById() –

回答

0

恩,得到它自己。目標沒有任何ID我使用$_.innerText參數。

$TD = $test.ParsedHtml.getElementsByTagName("TD") | Where {$_.innerText -like "*mytext*"} | select -first 1 

爲我工作。