Я хочу запустить несколько экземпляров хрома с разными профилями (каждый профиль имеет свои файлы 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");
}
}
}
При запуске этот код открыт каждый профиль и ничего не делать ..
Любая помощь?
Спасибо за помощь. Прекрасно работает, если скопировать весь профиль в другое место и установить его в каталог user-data-dir. –