2013-09-26 192 views
1

Powershell noob在這裏,它似乎應該很容易,但我無法弄清楚。我想有一個登錄按鈕我的腳本點擊某券商的主頁上:Powershell V3 - 點擊網頁登錄按鈕

$login = Invoke-Webrequest -uri http://www.foliofn.com -sessionvariable fol 
$login.links 

第三個環節是登錄按鈕,點擊它時會彈出登錄表單:

innerHTML : <I class=icon-lock></I>Login 
innerText : Login 
outerHTML : <A class="btn btn-small headerloginlink" href="/servlets/ProcessAction?identifier=loginFormEntry&amp;click1=Login"><I class=icon-lock></I>Login </A> 
outerText : Login 
tagName : A 
class  : btn btn-small headerloginlink 
href  : /servlets/ProcessAction?identifier=loginFormEntry&amp;click1=Login 

如何使用invoke-webrequest方法「點擊」它?我是否需要以某種方式發帖(儘管這不是表格,只是一個鏈接)。

我知道我可以使用ie.document.getelementsbyTagName來選擇這個元素,然後使用click(),但我無法弄清楚如何在不使用DOM的情況下在V3中做到這一點(如果這是正確的方式說吧)。

+0

你可以用uri foliofn.com調用invoke-request並附加鏈接/按鈕的href。 – andrewb

+0

就是這樣!效果很好,很好,很簡單,謝謝。 – Mark

回答

1

您可以嘗試模塊AutoBrowse。它包含的命令使得這種與IE的交互更加可編寫腳本。這裏有一個它登錄到Xbox Live的示例。

# Autobrowse can make automatically logging into a site simple and easy. 
# This simple pipeline logs someone into xbox (assuming $liveId and $password are set) 
$ie = Open-Browser -Url http://xbox.com -Visible| 
    Invoke-BrowserControl -Name RpsSignInLink -Click | 
    Set-BrowserControl -Name login -Value $liveId | 
    Set-BrowserControl -Name passwd -Value $password | 
    Invoke-BrowserControl -Name SI -Click 

# Once we're in, let's check out recent activity  
$ie | Set-BrowserLocation -Url http://live.xbox.com/en-US/Activity 
+0

謝謝,我會檢查出來 – Mark