中的href鏈接我確定這個答案之前一定有答案,但我想我只是不知道我應該在我的搜索術語中使用什麼。Powershell - 點擊div
我想讓powershell點擊一個簡單的'a href'鏈接。但是迄今爲止我發現的用於點擊事物的所有PowerShell示例都使用按鈕。當我嘗試重寫按鈕單擊腳本以單擊鏈接時,我收到了「您無法對空值表達式調用方法」錯誤消息。
的來源我想點擊鏈接是:
<div id="reportTreer1r3" style="padding-left:32px;" uid="2.-83016" nowrap
class="treeNode" onClick="reportTree.onSelect('r1r3');" onDblClick="reportTree.onDblSelect('r1r3');
" BP_REPORT_ID="-83016" reportType="report" isRemovable="false">
<nobr>
<a href="#r1r3" onClick="return false;" onKeyDown="reportTree.onKeyDown(this);">
<span>
<label class="hidden-label"> Tree level 1, 4 of 4. </label>
<span>Adherence Summary</span>
</span>
<label name="SelectInfo" class="hidden-label"></label>
</a>
</nobr>
</div>
遺憾的是該鏈接沒有被賦予它自己的元素ID,所以我不能只是「的getElementById」就可以了,而不是我已經嘗試了一系列的東西...
$link = $doc.getElementsByTagName('a') | Where-Object {$_.href -eq '#r1r3'}
$link.click()
...但它似乎沒有任何工作。
任何建議將不勝感激!
轉義字符#使我的愚蠢,我沒有注意到更早。但仍然沒有工作。出於好奇,我拿出了「where」子句並添加了「write-host $ link」來查看是否有任何內容被填充 - 它返回了一堆真/假結果......聽起來是對的嗎?我認爲它會爲每個元素返回更多的細節,而不僅僅是真或假。有沒有辦法讓它迴應所有可用的href? – CactusCake
不,這聽起來不對。給我一分鐘,我會更新我的答案,以反映我所看到的。 – TheMadTechnician
仍然無法正常工作。儘管如此,我認爲您提供的代碼沒有任何問題,但我認爲這可能與我嘗試點擊該鏈接的頁面結構有關。我提供的html代碼片段僅僅是一個更大的整體文檔中的一部分源代碼,它帶有幾個嵌套div和一些iframe,所以我想我在哪裏使用$ ie.document.get--它可能不夠具體也許到了正確的嵌套部分?謝謝你的努力,我很欣賞你在答案中提供的詳細程度。 – CactusCake