我會用Selenium。他們有一個.NET庫,這意味着你可以在Powershell中使用它。
這是他們的.NET Documentation。我建議使用chrome driver,因爲它往往更可靠。
本質上,請下載.NET library for Selenium (currently v2.53),並將所需的.dll文件放在與chromedriver.exe文件相同的目錄中。
然後,在Powershell中,使用Add-Type
cmdlet導入您的DLL。
從那裏,你準備好了!
這是一個示例腳本,轉到Google並輸入搜索詞。
> Add-Type -Path C:\dev\selenium\*.dll
> $driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver
Starting ChromeDriver 2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4) on port 49693
Only local connections are allowed.
> $driver.Navigate().GoToUrl("https://google.com")
> $inputField = $driver.FindElementById("lst-ib")
> $inputField.SendKeys("My Search Term")
> $inputField.Submit()
儘管他們的文檔有點難以瀏覽,但它確實是學習可用方法的最佳方式。
此外,您可以將您已選擇的元素傳遞到Get-Member
cmdlet,以查看可用的方法和屬性。
> $inputField | Get-Member
TypeName: OpenQA.Selenium.Remote.RemoteWebElement
Name MemberType Definition
---- ---------- ----------
Clear Method void Clear(), void IWebElement.Clear()
Click Method void Click(), void IWebElement.Click()
Equals Method bool Equals(System.Object obj)
FindElement Method OpenQA.Selenium.IWebElement (etc...)