You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell中使用Selenium ChromeDriver启动Web自动化失败的问题求助

解决PowerShell中ChromeDriver初始化失败的问题

我之前也碰到过一模一样的情况,看起来你的$WebDriver对象初始化失败变成了空值,所以才会抛出“不能对空值调用方法”的错误。咱们一步步来排查修复:

先还原你的问题场景:
你运行的PowerShell代码如下:

Import-Module 'C:\AHKM\ChromeAutomation\WebDriver.dll'
$WebDriver = New-Object OpenQA.Selenium.Chrome.ChromeDriver
$WebDriver.Navigate().GoToUrl('www.google.com')

得到的错误信息:

You cannot call a method on a null-valued expression.
At line:3 char:9

  • $WebDriver.Navigate().GoToUrl('www.google.com')
  • + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
      + FullyQualifiedErrorId : InvokeMethodOnNull
    

下面是几个大概率能解决问题的步骤:

1. 优先检查ChromeDriver与Chrome浏览器的版本匹配

这是最容易踩坑的点!ChromeDriver的版本必须和你本地安装的Chrome浏览器主版本完全一致(比如Chrome是120.x,ChromeDriver也得是120.x系列)。

  • 打开Chrome,在地址栏输入chrome://version/就能看到你的浏览器版本
  • 下载对应版本的ChromeDriver,把解压后的chromedriver.exe放到一个你能找到的文件夹里

2. 初始化时指定ChromeDriver的路径

如果ChromeDriver不在系统环境变量的路径里,PowerShell可能找不到它,导致初始化失败。你可以在创建ChromeDriver对象时明确指定驱动所在的文件夹路径:

Import-Module 'C:\AHKM\ChromeAutomation\WebDriver.dll'
# 替换成你存放chromedriver.exe的文件夹路径
$driverPath = "C:\Tools\ChromeDriver"
$WebDriver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($driverPath)
# 记得给URL加上https协议头
$WebDriver.Navigate().GoToUrl('https://www.google.com')

3. 验证WebDriver.dll的兼容性

你导入的WebDriver.dll版本要和ChromeDriver、Selenium的版本匹配,不然会出现组件不兼容的问题。建议确保所有相关组件(Selenium DLL、ChromeDriver、Chrome浏览器)的版本都处于兼容状态。

4. 修复URL格式问题

你的代码里www.google.com缺少了https://协议头,即使WebDriver初始化成功,也可能无法正确导航到目标页面,记得补充完整协议。

5. 尝试以管理员身份运行PowerShell

有时候权限不足会导致驱动无法正常加载,右键点击PowerShell图标,选择“以管理员身份运行”后再执行代码,看看问题是否解决。

内容的提问来源于stack exchange,提问作者Ananthakumar Mani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 02:52:43