0
我們正在將一個asp.net intranet遷移到SharePoint並通過PowerShell自動執行轉換。使用Invoke-WebRequest刮擦
我們只想用類名'topnav'從DIV標籤中取消鏈接。不是頁面
$url = "http://intranet.company.com"
$page = Invoke-WebRequest -Uri $url
$div_topnav = $page.ParsedHtml.getElementsByTagName('div') | ? {$_.className -match 'topnav'}
這會讓我們的topnav的HTML,但如何更好地提取剛剛從應用程序節點的應用程序鏈接上的所有鏈接?我們不想要HOME或Documents節點?
<div class="topnav" >
<ul class="lev1 clearfix" >
<li class="lev1 pos1 first lev1_first">
<a href="index.html">Home</a>
</li>
<li class="lev1 pos2 haschildren lev1_haschildren">
<a href="index.html">Applications</a>
<ul>
<li class="lev2 pos1 first lev2_first">
<a href="http://someurl.com">App 1</a>
</li>
<li class="lev2 pos2 haschildren lev2_haschildren">
<a href="index.html">Training</a>
<ul class="lev3">
<li class="lev3 pos1 lev3_pos1 first lev3_first">
<a href="http://someurl.com">App 3</a>
</li>
<li class="lev3 pos2 lev3_pos2 last lev3_last">
<a href="http://someurl.com">App 4</a>
</li>
</ul>
</li>
</ul>
<li class="lev1 pos3 haschildren lev1_haschildren">
<a href="index.html">Documents</a>
<ul>
<li class="lev2 pos1 first lev2_first">
<a href="http://someurl.com">Doc 1</a>
</li>
<li class="lev2 pos2 haschildren lev2_haschildren">
<a href="index.html">Training</a>
<ul class="lev3">
<li class="lev3 pos1 lev3_pos1 first lev3_first">
<a href="http://someurl.com">Doc 3</a>
</li>
<li class="lev3 pos2 lev3_pos2 last lev3_last">
<a href="http://someurl.com">Doc 4</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
您是否嘗試將結果傳輸到另一個'getElementByTagName('li')'? – Bum
由於某種原因,它不能正常工作。想想我會轉移到敏捷包。花費太多時間使用這種方法。 – user2019423