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

使用Selenium运行程序遇问题:点击Start按钮后Chrome报错

问题分析与修复方案

你的代码存在几个关键问题,导致运行报错:

  • 语法错误:ExecuteTest方法定义缺少括号,正确写法应为public void ExecuteTest()
  • URL格式错误:GoToUrl传入的地址没有协议头(http/https),浏览器无法正确解析,需改为https://www.facebook.com
  • 测试框架配置问题:使用NUnit的[SetUp]和[Test]属性时,类需标记为public,且缺少必要的命名空间引用
  • WebDriver初始化方式错误:类级别直接实例化ChromeDriver会导致资源管理问题,应在[SetUp]方法内初始化,[TearDown]方法内关闭释放资源
  • 静态方法与实例字段冲突:Main方法是静态的,但driver是实例字段,两者无法直接交互(使用NUnit时无需手动编写Main方法,测试框架会自动处理执行流程)

修正后的完整代码

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using NUnit.Framework;

namespace Sel
{
    [TestFixture]
    public class FacebookLoginTest
    {
        private IWebDriver driver;

        [SetUp]
        public void Initialize()
        {
            // 初始化ChromeDriver,若ChromeDriver不在环境变量中,需指定路径:new ChromeDriver(@"你的ChromeDriver路径")
            driver = new ChromeDriver();
            driver.Navigate().GoToUrl("https://www.facebook.com");
        }

        [Test]
        public void ExecuteTest()
        {
            driver.Manage().Window.Maximize();
            IWebElement emailBox = driver.FindElement(By.Name("email"));
            emailBox.SendKeys("jdaj@gmail.com");
        }

        [TearDown]
        public void Cleanup()
        {
            // 测试结束后关闭浏览器,释放资源
            driver.Quit();
            driver.Dispose();
        }
    }
}

额外注意事项

  1. 确保已通过NuGet安装Selenium.WebDriver和NUnit、NUnit3TestAdapter包
  2. ChromeDriver版本必须与本地安装的Chrome版本完全匹配(可在Chrome设置→关于Chrome中查看版本,下载对应ChromeDriver)
  3. 若运行时仍报错,可尝试在ChromeDriver初始化时添加选项,禁用沙箱模式:
var options = new ChromeOptions();
options.AddArgument("--no-sandbox");
driver = new ChromeDriver(options);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 03:42:06