2016-06-28 36 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'))。