前提环境

所使用的powershell和Selenium模块的版本:

PS C:\Users\Administrator> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.19041.1682
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.1682
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1


PS C:\Users\Administrator> Get-InstalledModule -name selenium

Version    Name                                Repository           Description
-------    ----                                ----------           -----------
3.0.1      Selenium                            PSGallery            Web automation using the Selenium Web Driver

PS C:\Users\Administrator> Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned

実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "N"): Y

PS C:\Users\Administrator> Get-ExecutionPolicy -list

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine    RemoteSigned

Selenium模块的安装命令如下:

Install-Module -Name Selenium

Google chrome的webdriver下载页面:
https://chromedriver.chromium.org/downloads

Microsoft edge的webdriver下载页面:
https://developer.microsoft.com/ja-jp/microsoft-edge/tools/webdriver/

下载过后的webdriver放置位置:

#Google chrome webdriver
#将chromedriver.exe放置到以下位置
C:\Program Files\WindowsPowerShell\Modules\Selenium\3.0.1\assemblies

#Microsoft edge webdriver
#需要将msedgedriver.exe名称改为MicrosoftWebDriver.exe后放置到以下位置
C:\Program Files\WindowsPowerShell\Modules\Selenium\3.0.1\assemblies

常用命令

#使用Chrome
$Driver = Start-SeChrome

#使用Edge
$Driver = Start-SeEdge

#使用-Headless可选项将隐藏浏览器界面
$Driver = Start-SeChrome -Headless

#打开指定<URL>网页
Enter-SeUrl "<URL>" -Driver $Driver

#指定ID
$Element = Find-SeElement -Driver $Driver -Id "<ID>"

#指定ClassName
$Element = Find-SeElement -Driver $Driver -ClassName "<ClassName>"

#指定TagName(下记命令用于抽出所有名为input的标签)
$Element = Find-SeElement -Driver $Driver -TagName input

#指定XPath
$Element = Find-SeElement -Driver $Driver -XPath "<XPath>"

#填入内容<text>
Send-SeKeys -Element $Element -Keys "<text>"

#单击,有下记两种方式
$Element.Click()
$Element | Invoke-SeClick -Driver $Driver 

#使用JavaScript单击 (上述两种方法无法使用的时候)
$Element | Invoke-SeClick -JavaScriptClick -Driver $Driver 

#截图
$Screenshot = Invoke-SeScreenshot -Target $Driver
Save-SeScreenshot -Screenshot $Screenshot -Path ./test.png

#结束webdriver进程
Stop-SeDriver -Driver $Driver
Last modification:July 8, 2022
如果觉得我的文章对你有用,请随意赞赏