闲暇时间突发奇想让Powershell 来操作Chrome 浏览器不知是否可行, 有了这个想法之后, 从而自己给自己了一个需求, 怎么来实现这个需求,就开始了以下的探索之路

1. 问问度娘看看有没有关于Powershell 操作浏览器的相关文章

2. 进过上一步搜索发现有不少关于Java, Python 操作浏览器的, 而且都是通过Selenium , 这样一来, 已经把第一个问题解决了, 但是同时也引出了下一个问题, 啥是Selenium ? 它怎么用? 它能帮我实现什么样的需求?......十万个为什么等我回答

3. 接下来就开始一路学习Selenium, 去官网打卡https://www.selenium.dev/

4. 通过官网+度娘了解了一点皮毛之后, 也算回答了一万个问题, 距离十万个为什么还有很多路要走

正式进入主题:

先决条件:

1. 准备两个DLL 文件WebDriver.Support.dllWebDriver.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 + Selenium 爬虫--前提准备(01)_Selenium

到此所有准备已完成, 现在可以使用Powershell 来驱动一个Chrome 实例来访问一个网页了

$ChromeDriver = New-Object OpenQA.Selenium.Chrome.ChromeDriver
$nav = $ChromeDriver.Navigate()
$nav.GoToUrl('https://blog.51cto.com/')