2

Я хочу запустить несколько экземпляров хрома с разными профилями (каждый профиль имеет свои файлы cookie) для выполнения одной задачи одновременно. Например, я хочу искать в Google с двумя учетными записями (у каждой учетной записи есть свой прокси-сервер).Запуск нескольких экземпляров хрома (профилей) для задачи автоматизации

Я использую Visual Studio Community 2015.

Это то, что я до сих пор (без прокси):

namespace ChromeBot 
{ 
    class Program 
    { 
     public static object Application { get; private set; } 

     static void Main(string[] args) 
     { 
      //Set specific profile for Google Chrome 
      var options = new ChromeOptions(); 
      options.AddArguments("user-data-dir=C:/Users/conta/AppData/Local/Google/Chrome/User Data/"); 
      options.AddArguments("--start-maximized"); 
      options.AddArguments("--profile-directory=Profile 1"); 


      //Create the reference for our browser 
      IWebDriver driver = new ChromeDriver(options); 
      driver.Manage().Timeouts().SetPageLoadTimeout(new TimeSpan(0, 0, 0, 12)); 


      //Navigate to Google Page 
      driver.Navigate().GoToUrl("http://www.google.com"); 


      //Find the element 
      IWebElement element = driver.FindElement(By.Name("q")); 


      //Perform ops 
      element.SendKeys("cars"); 


      // Set specific profile for Google Chrome1 
      var options1 = new ChromeOptions(); 
      options1.AddArguments("user-data-dir=C:/Users/conta/AppData/Local/Google/Chrome/User Data/"); 
      options1.AddArguments("--start-maximized"); 
      options1.AddArguments("--profile-directory=Profile 2"); 


      //Create the reference for our browser 1 
      IWebDriver driver1 = new ChromeDriver(options1); 

      driver.Manage().Timeouts().SetPageLoadTimeout(new TimeSpan(0, 0, 0, 12)); 

      //Navigate to Google Page 1 
      driver1.Navigate().GoToUrl("http://www.google.com"); 

      //Find the element 
      IWebElement element = driver.FindElement(By.Name("q")); 


      //Perform ops 
      element.SendKeys("smartphones"); 
     } 
    } 
} 

При запуске этот код открыт каждый профиль и ничего не делать ..

Любая помощь?

+0

Спасибо за помощь. Прекрасно работает, если скопировать весь профиль в другое место и установить его в каталог user-data-dir. –

ответ

1

Когда пользователь запускает хромированный хромированный реверс, он открывает новый экземпляр браузера Chrome и блокирует каталог user-data-dir. поэтому, если какой-либо другой экземпляр пытается открыть с помощью одного и того же user-data-dir, второй экземпляр не отвечает.

Пожалуйста, запустите каждый экземпляр хрома с помощью различных данных-данных.