参考文章:
https://adamtheautomator.com/selenium-powershell/#Making_Selenium_PowerShell_Work
https://www.pstips.net/selenium-powershell-extensions.html
一、准备工作:
①下载适合Powershell的selenium webdriver.dll文件。 下载链接: https://www.selenium.dev/downloads/ 选择 C# 语言版本下载。
下载后的文件是nupkg格式的。如:
z直接改后缀名为.zip,然后直接解压出来就行。如改为:
解压后在以下文件夹里面以下路径找到WebDriver.dll
这个文件。
②下载浏览器对应版本的浏览器驱动
谷歌浏览器:
https://chromedriver.chromium.org/downloads
Edge浏览器:
https://developer.microsoft.com/zh-cn/microsoft-edge/tools/webdriver/
二、配置环境和加载dll文件
①先新建一个selenium的工作文件夹。然后把第一步下载的2个文件放到这个文件夹里面。
ps:我这里下载的是edge的驱动,所以名字是msedgedriver.exe。如果你的是谷歌浏览器的驱动的话,就不是这个名字。最好不要改文件名,不然要手动指定驱动地址(这个目前我还没了解到)
②打开powershell,输入以下代码,设置工作目录。
ps:为了方便,也可以把selenium这个路径添加到电脑的系统变量中。具体方法请自行百度。
# 设置工作目录
$workingPath = "D:\360Downloads\STUPS-develop\selenium"
# 检查系统环境变量。
if (($env:Path -split ';') -notcontains $workingPath) {
$env:Path += ";$workingPath"
}
$env:Path -split ';'
③在PowerShell继续输入以下三行代码中的任意一行,来加载dll文件。
这里可能会有一个HRESULT:0x80131515报错。这里是因为PowerShell在阻止不明的第三方程序。需要鼠标右键dll文件,选择属性,在【常规】选项卡里面,把最下面的“解除锁定” 勾选上。再点击应用,然后关闭重启PowerShell就可以了。
Add-Type : 未能加载文件或程序集“file:///D:\360Downloads\STUPS-develop\selenium\WebDriver.dll”或它的某一个依赖项。不支持操作。 (异常来自 HRESULT:0x80131515)
# 以下三种方案任选一种即可
# 备选方案 1: 用Add-Type命令来加载
Add-Type -Path "$($workingPath)\WebDriver.dll"
# 备选方案 2: 用Import-Module命令来加载
Import-Module "$($workingPath)\WebDriver.dll"
# 备选方案 3: 用.Net来加载。
[System.Reflection.Assembly]::LoadFrom("$($workingPath)\WebDriver.dll")
三、使用Selenium启动浏览器并访问网页
①谷歌浏览器的用法
# 创建谷歌浏览器实例,会自动启动谷歌浏览器
$ChromeDriver = New-Object OpenQA.Selenium.Chrome.ChromeDriver
# 访问网页。这里要注意网址前后不需要加<>,不然会报错。
$ChromeDriver.Navigate().GoToURL('https://powershell.org/profile/login/')
②Edge浏览器的用法
# 创建谷歌浏览器实例,会自动启动谷歌浏览器
$EdgeDriver = New-Object OpenQA.Selenium.Edge.EdgeDriver
# 访问网页。这里要注意网址前后不需要加<>,不然会报错。
$EdgeDriver.Navigate().GoToURL('https://powershell.org/profile/login/')
ps:这里可能有点小瑕疵,运行创建实例后,下面代码输入框被日志盖住了,但是不影响你继续输入代码。