闲暇时间突发奇想让Powershell 来操作Chrome 浏览器不知是否可行, 有了这个想法之后, 从而自己给自己了一个需求, 怎么来实现这个需求,就开始了以下的探索之路
1. 问问度娘看看有没有关于Powershell 操作浏览器的相关文章
2. 进过上一步搜索发现有不少关于Java, Python 操作浏览器的, 而且都是通过Selenium , 这样一来, 已经把第一个问题解决了, 但是同时也引出了下一个问题, 啥是Selenium ? 它怎么用? 它能帮我实现什么样的需求?......十万个为什么等我回答
3. 接下来就开始一路学习Selenium, 去官网打卡https://www.selenium.dev/
4. 通过官网+度娘了解了一点皮毛之后, 也算回答了一万个问题, 距离十万个为什么还有很多路要走
正式进入主题:
先决条件:
1. 准备两个DLL 文件WebDriver.Support.dll 和 WebDriver.dll , 两个文件的版本要对应一致
2. 准备chromedriver.exe 插件和Chrome 浏览器
3. 本地环境准备好Net Framwork3.5 或以上版本
4. 以上DLL 和 Exe 文件存放到本地指定一个目录当中例如D:\Tools\Selenium, 之后添加这个路径到环境变量当中
$workingPath = 'D:\tools\Selenium'
# Add the working directory to the environment path.
# This is required for the ChromeDriver to work.
if (($env:Path -split ';') -notcontains $workingPath) {
$env:Path += ";$workingPath"
}
5. 先后导入两个DLL 文件
ipmo D:\tools\Selenium\WebDriver.Support.dll
ipmo D:\tools\Selenium\WebDriver.dll
到此所有准备已完成, 现在可以使用Powershell 来驱动一个Chrome 实例来访问一个网页了
$ChromeDriver = New-Object OpenQA.Selenium.Chrome.ChromeDriver
$nav = $ChromeDriver.Navigate()
$nav.GoToUrl('https://blog.51cto.com/')