使用 c# 中的 selenium 在我的 google 帐户之间切换

问题描述 投票:0回答:1

我收到以下错误,帐户已打开,但网址未导航且交易未发生。我的目标是开立账户以便访问网址并执行交易。 等待VideoYukle(驱动程序,令牌); 函数,你能提供有关我应该如何编辑此代码的信息吗? 如果能提供示例代码就太好了

        // YouTube Studio URL'si
    private string youtubeStudioUrl = "https://studio.youtube.com";

    // Profil dizinlerini bulur ve her biri için OpenUrlInChromeProfile çağırır
    public async Task OpenYouTubeStudiosAsync(CancellationToken token)
    {
        string userDataPath = @"C:\Users\fehmi\AppData\Local\Google\Chrome\User Data"; // Kullanıcı verileri dizini
        string[] profileDirectories = Directory.GetDirectories(userDataPath, "Profile *"); // Tüm profilleri bul

        foreach (string profileDir in profileDirectories)
        {
            if (token.IsCancellationRequested)
                break; // Eğer iptal edilmişse döngüyü kır

            try
            {
                string profileName = new DirectoryInfo(profileDir).Name; // Profil adını al
                Console.WriteLine($"Profil işleniyor: {profileName}");

                // Her profil için YouTube Studio'yu aç
                await OpenUrlInChromeProfile(profileName, token);
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Profil için hata oluştu: {ex.Message}");
            }
        }
    }
    private string[] profileName;

    private async Task OpenUrlInChromeProfile(string profileName, CancellationToken token)
    {
        // ChromeOptions ayarlama
        ChromeOptions options = new ChromeOptions();
        options.AddArgument($"--user-data-dir={@"C:\Users\fehmi\AppData\Local\Google\Chrome\User Data"}");
        options.AddArgument($"--profile-directory={profileName}");
        options.AddArgument("--remote-debugging-port=9222"); // Remote debugging portunu ekleyin

        // ChromeDriver ile Chrome'u başlat
        using (IWebDriver driver = new ChromeDriver(options))
        {
            try
            {
                // Tarayıcının tamamen açılmasını bekleyin
                await Task.Delay(2000); // 2 saniye bekleme

                // YouTube Studio'ya git
                driver.Navigate().GoToUrl(youtubeStudioUrl);
                MessageBox.Show($"Navigating to {youtubeStudioUrl} for profile {profileName}", "Başarılı", MessageBoxButtons.OK, MessageBoxIcon.Information);

                // Sayfanın yüklenmesini bekleyin
                WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
                wait.Until(d => d.Url.Contains("studio.youtube.com"));

                MessageBox.Show($"Profil {profileName} için sayfa yüklendi.", "Başarılı", MessageBoxButtons.OK, MessageBoxIcon.Information);

                // Video yükleme işlemi
                await VideoYukle(driver, token);
            }
            catch (WebDriverException ex)
            {
                MessageBox.Show($"WebDriver hatası: {ex.Message}", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Genel hata: {ex.Message}", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
    }
c# visual-studio google-chrome selenium-webdriver account
1个回答
0
投票

我解决了问题 Google Chrome 不应打开。

© www.soinside.com 2019 - 2024. All rights reserved.