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

如何用C#打开Chrome指定配置文件访问网页并自动点击页面按钮

C# 多实例Chrome自动点赞TikTok视频实现方案

你原有代码存在3个直接影响运行的问题:

  • 拼写错误:deafult 应为 default,启动参数拼接时网址和参数之间缺空格,会导致启动失败
  • 仅靠Process.Start启动Chrome无法操作页面DOM,没法实现自动识别点击点赞按钮的逻辑
  • 多实例启动如果共用同一个用户配置目录,Chrome会触发进程锁报错,无法同时打开多个窗口

实现思路

  • 用Selenium做Chrome自动化控制,不需要自己手写Process启动逻辑,自动适配Chrome启动参数
  • 每个浏览器实例分配独立的用户配置缓存目录,避免多开冲突
  • 页面加载完成后通过XPath定位TikTok点赞按钮,触发点击动作
  • 支持自定义启动实例数、目标视频链接、用户配置路径

完整可运行代码

首先给控制台项目安装两个必需的NuGet包,在包管理控制台执行以下命令:

Install-Package Selenium.WebDriver
Install-Package Selenium.WebDriver.ChromeDriver

注意:安装的ChromeDriver版本要和你本地安装的Chrome浏览器大版本完全一致,否则会启动失败

将原有控制台代码替换为以下内容:

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;
using System.Threading;

namespace TikTokAutoLike
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 读取用户输入配置
            Console.WriteLine("请输入要打开的浏览器实例数量:");
            if (!int.TryParse(Console.ReadLine(), out int instanceCount) || instanceCount < 1)
            {
                Console.WriteLine("实例数输入不合法,将默认启动1个实例");
                instanceCount = 1;
            }

            Console.WriteLine("请输入目标TikTok视频链接,直接回车将使用默认测试链接:");
            string targetUrl = Console.ReadLine()?.Trim();
            if (string.IsNullOrEmpty(targetUrl))
            {
                targetUrl = "https://vm.tiktok.com/ZMN2jb2GQ/?k=1";
            }

            Console.WriteLine("请输入Chrome用户配置文件根目录,直接回车将使用系统默认路径:");
            string profileRoot = Console.ReadLine()?.Trim();
            if (string.IsNullOrEmpty(profileRoot))
            {
                profileRoot = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\Google\Chrome\User Data";
            }

            List<IWebDriver> drivers = new List<IWebDriver>();
            try
            {
                for (int i = 0; i < instanceCount; i++)
                {
                    ChromeOptions options = new ChromeOptions();
                    // 每个实例分配独立配置目录,避免Chrome进程锁冲突
                    string instanceProfilePath = $@"{profileRoot}\AutoLikeInstance_{i}";
                    options.AddArgument($"--user-data-dir={instanceProfilePath}");
                    // 隐藏自动化标识,降低被平台检测概率
                    options.AddExcludedArgument("enable-automation");
                    options.AddAdditionalOption("useAutomationExtension", false);

                    ChromeDriver driver = new ChromeDriver(options);
                    drivers.Add(driver);
                    int currentIndex = i + 1;
                    // 异步执行单实例点赞逻辑,避免阻塞多实例启动
                    ThreadPool.QueueUserWorkItem(_ =>
                    {
                        try
                        {
                            driver.Navigate().GoToUrl(targetUrl);
                            // 设置元素查找最长等待时间10秒,适配页面加载速度
                            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
                            // 定位TikTok点赞按钮,适配官方页面通用结构
                            IWebElement likeBtn = driver.FindElement(By.XPath("//span[@data-e2e='like-icon']/.."));
                            // 随机等待1-3秒再点击,模拟人工操作节奏
                            Thread.Sleep(new Random(Guid.NewGuid().GetHashCode()).Next(1000, 3000));
                            likeBtn.Click();
                            Console.WriteLine($"实例[{currentIndex}] 点赞执行完成");
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine($"实例[{currentIndex}] 执行出错:{ex.Message}");
                        }
                    });
                }

                Console.WriteLine("所有实例已派发任务,执行完成后按任意键关闭所有窗口并退出...");
                Console.ReadKey();
            }
            finally
            {
                // 释放所有浏览器进程资源
                foreach (var driver in drivers)
                {
                    driver.Quit();
                    driver.Dispose();
                }
            }
        }
    }
}

运行注意事项

  • 启动程序前要关闭所有已经打开的Chrome进程,否则会因为配置目录被占用导致启动失败
  • 如果默认的点赞按钮定位规则失效,可以手动打开TikTok页面按F12调出开发者工具,检查点赞按钮的元素属性,替换代码中By.XPath对应的定位规则即可
  • 不要短时间内启动超过3个实例,操作间隔不要过短,否则容易触发TikTok反爬风控,导致账号功能被限制
  • 第一次运行每个实例时如果弹出登录提示,手动登录一次TikTok账号即可,登录状态会保存在对应实例的独立配置目录中,后续运行不需要重复登录

本代码仅用于个人学习浏览器自动化技术使用,请严格遵守TikTok平台用户协议,不要用于批量刷量等违规操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 12:45:36