2016-06-28 39 views
0

我正在導航到Internet Explorer中的網頁。我想自動點擊此網頁上的鏈接。我目前通過所有的HTML元素循環使用的「A」的頁面上,直到我找到了一個標題爲我找了一個標籤 - 此時我。點擊()它:直接從PowerShell執行Javascript事件

$links = $ie.document.getElementsByTagName("a") 
Foreach($link in $links) 
{ 
    #look for this field by value 
    $link.title 
    if($link.title -eq "Link I would like to click"){ 
     Write-Host $link.click() 
    } 
} 

鏈接我正在尋找沒有ID,所以document.getElementById()不是一個選項。這種特殊的鏈接已onclick事件定義爲:

onclick="jsf.util.chain(this,event,'pageLoadStart();','mojarra.jsfcljs(document.getElementById(\'navPanelForm\'),{\'navPanelForm:j_idt689:j_idt689\':\'navPanelForm:j_idt689:j_idt689\'},\'\')');return false" 

有什麼辦法,我可以直接不通過所有的鏈接不必循環執行呢?

回答

0

檢查您需要的元素是否具有您可以搜索的任何截然不同的功能 - 如果它不具備此類功能,最好的辦法就是檢查它的祖先 - div元素,它可以保存所有鏈接或類似的東西並搜尋其子女 - element.childrenelement.childNodes。如果您正在搜索特定的onclick內容,this answer可能有所幫助(element.getAttribute('onclick'))。