TimeSpan initialDelay = TimeSpan.Zero;
bool isFirstIteration = true;
DateTime previousTime = DateTime.Now;
while (true)
{
DateTime now = DateTime.Now;
int minute = now.Minute;
if (delaySecondGR <= TimeSpan.Zero)
{
if ((minute >= 3 && minute <= 4) || (minute >= 8 && minute <= 9) || (minute >= 13 && minute <= 14) || (minute >= 18 && minute <= 19) || (minute >= 23 && minute <= 24) || (minute >= 28 && minute <= 29) || (minute >= 33 && minute <= 34) || (minute >= 38 && minute <= 39) || (minute >= 43 && minute <= 44) || (minute >= 48 && minute <= 49) || (minute >= 53 && minute <= 54) || (minute >= 58 && minute <= 59))
{
// Поиск кнопки карта
try
{
IWebElement mapButton = driver.FindElement(By.CssSelector("a[href='map.php'] b"));
mapButton.Click();
}
catch (NoSuchElementException)
{
// Поиск родительского элемента кнопки карта
IWebElement mapButton = driver.FindElement(By.CssSelector("a[href='map.php'] img.mm_item_icon"));
// Найти <img> внутри родительского элемента
IWebElement mapImage = mapButton.FindElement(By.CssSelector("img.mm_item_icon"));
// Выполнить действие с <img>
mapImage.Click();
}
// Поиск таблицы с данными
IWebElement dataTable = driver.FindElement(By.CssSelector("div.global_table_div.map_obj_table_div table.wb"));
// Поиск всех строк с данными в таблице
IReadOnlyCollection<IWebElement> dataRows = dataTable.FindElements(By.CssSelector("tr.map_obj_table_hover"));
// Поиск и клик на верхних стрелочках "»»»"
bool foundWorkplace = false;
foreach (IWebElement row in dataRows)
{
IWebElement arrowLink = row.FindElement(By.CssSelector("a[href*='object-info.php']"));
arrowLink.Click();
foundWorkplace = true;
break; // Кликнули на первой найденной стрелочке и прекращаем цикл
}
// Если место работы не было найдено, выводим сообщение в чат
if (!foundWorkplace)
{
Console.WriteLine("Место для работы не было найдено.");
return;
}
try
{
// Поиск картинки кнопки
IWebElement imageButton = driver.FindElement(By.CssSelector("div.getjob_hover.gtjob_center input.getjob_submitBtn"));
// Клик на картинку кнопки
Console.ForegroundColor = ConsoleColor.Cyan; // устанавливаем цвет
Console.WriteLine("Вы успешно устроились на работу !");
Console.ResetColor(); // сбрасываем в стандартный
imageButton.Click();
}
catch (NoSuchElementException)
{
Console.ForegroundColor = ConsoleColor.Cyan; // устанавливаем цвет
Console.WriteLine("Вы не были устроены на работу. Разгадайте captcha самостоятельно.");
Console.ResetColor(); // сбрасываем в стандартный
}
// Поиск кнопки рулетки
try
{
IWebElement rouletteButton = driver.FindElement(By.CssSelector("a[href='roulette.php'] b"));
rouletteButton.Click();
}
catch (NoSuchElementException)
{
// Поиск родительского элемента кнопки рулетки
IWebElement parentElement = driver.FindElement(By.CssSelector(".mm_item_blue a[href='roulette.php']"));
// Найти <img> внутри родительского элемента
IWebElement rouletteImage = parentElement.FindElement(By.CssSelector("img.mm_item_icon"));
// Выполнить действие с <img>
rouletteImage.Click();
}
// Вычисление времени ближайшего запуска по расписанию с добавлением случайной задержки
Random random = new Random();
int delaySeconds = random.Next(3600, 3900);
DateTime nextRunTime = DateTime.Today.AddHours(now.Hour).AddMinutes((now.Minute / 5) * 5 + 5).AddSeconds(delaySeconds);
if (isFirstIteration)
{
initialDelay = nextRunTime - DateTime.Now;
isFirstIteration = false;
}
delaySecondGR = nextRunTime - DateTime.Now;
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine($"Ожидание {delaySecondGR.TotalMinutes} минут");
Console.ResetColor();
continue; // Продолжаем цикл
}
else
{
int[] intervals = { 3, 8, 13, 18, 23, 28, 33, 38, 43, 48, 53, 58 };
int nextMinute = intervals.FirstOrDefault(i => i > minute);
DateTime nextTime = new DateTime(now.Year, now.Month, now.Day, now.Hour, nextMinute, 0);
TimeSpan remainingTime = nextTime - now;
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine($"Ожидание до ближайшего интервала (с 3 по 4 или с 8 по 9 минуту): {remainingTime.TotalSeconds} секунд");
Console.ResetColor();
Thread.Sleep(remainingTime);
}
}
else
{
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine($"Ожидание {delaySecondGR.TotalMinutes} минут");
Console.ResetColor();
TimeSpan elapsedTime = DateTime.Now - previousTime;
delaySecondGR -= elapsedTime;
previousTime = DateTime.Now;
break; // Прекращаем цикл
}
}
Thread thread1 = new Thread(() =>
{
// код цикла
});
thread1.Start(); - проверяем поток
TimeSpan initialDelay = TimeSpan.Zero;
bool isFirstIteration = true;
DateTime previousTime = DateTime.Now;
while (true)
{
DateTime now = DateTime.Now;
int minute = now.Minute;
if (delaySecondGR <= TimeSpan.Zero)
{
if ((minute >= 3 && minute <= 4) || (minute >= 8 && minute <= 9) || (minute >= 13 && minute <= 14) || (minute >= 18 && minute <= 19) || (minute >= 23 && minute <= 24) || (minute >= 28 && minute <= 29) || (minute >= 33 && minute <= 34) || (minute >= 38 && minute <= 39) || (minute >= 43 && minute <= 44) || (minute >= 48 && minute <= 49) || (minute >= 53 && minute <= 54) || (minute >= 58 && minute <= 59))
{
// Поиск кнопки карта
try
{
IWebElement mapButton = driver.FindElement(By.CssSelector("a[href='map.php'] b"));
mapButton.Click();
}
catch (NoSuchElementException)
{
// Поиск родительского элемента кнопки карта
IWebElement mapButton = driver.FindElement(By.CssSelector("a[href='map.php'] img.mm_item_icon"));
// Найти <img> внутри родительского элемента
IWebElement mapImage = mapButton.FindElement(By.CssSelector("img.mm_item_icon"));
// Выполнить действие с <img>
mapImage.Click();
}
// Поиск таблицы с данными
IWebElement dataTable = driver.FindElement(By.CssSelector("div.global_table_div.map_obj_table_div table.wb"));
// Поиск всех строк с данными в таблице
IReadOnlyCollection<IWebElement> dataRows = dataTable.FindElements(By.CssSelector("tr.map_obj_table_hover"));
// Поиск и клик на верхних стрелочках "»»»"
bool foundWorkplace = false;
foreach (IWebElement row in dataRows)
{
IWebElement arrowLink = row.FindElement(By.CssSelector("a[href*='object-info.php']"));
arrowLink.Click();
foundWorkplace = true;
break; // Кликнули на первой найденной стрелочке и прекращаем цикл
}
// Если место работы не было найдено, выводим сообщение в чат
if (!foundWorkplace)
{
Console.WriteLine("Место для работы не было найдено.");
return;
}
try
{
// Поиск картинки кнопки
IWebElement imageButton = driver.FindElement(By.CssSelector("div.getjob_hover.gtjob_center input.getjob_submitBtn"));
// Клик на картинку кнопки
Console.ForegroundColor = ConsoleColor.Cyan; // устанавливаем цвет
Console.WriteLine("Вы успешно устроились на работу !");
Console.ResetColor(); // сбрасываем в стандартный
imageButton.Click();
}
catch (NoSuchElementException)
{
Console.ForegroundColor = ConsoleColor.Cyan; // устанавливаем цвет
Console.WriteLine("Вы не были устроены на работу. Разгадайте captcha самостоятельно.");
Console.ResetColor(); // сбрасываем в стандартный
}
// Поиск кнопки рулетки
try
{
IWebElement rouletteButton = driver.FindElement(By.CssSelector("a[href='roulette.php'] b"));
rouletteButton.Click();
}
catch (NoSuchElementException)
{
// Поиск родительского элемента кнопки рулетки
IWebElement parentElement = driver.FindElement(By.CssSelector(".mm_item_blue a[href='roulette.php']"));
// Найти <img> внутри родительского элемента
IWebElement rouletteImage = parentElement.FindElement(By.CssSelector("img.mm_item_icon"));
// Выполнить действие с <img>
rouletteImage.Click();
}
// Вычисление времени ближайшего запуска по расписанию с добавлением случайной задержки
Random random = new Random();
int delaySeconds = random.Next(3600, 3900);
DateTime nextRunTime = DateTime.Today.AddHours(now.Hour).AddMinutes((now.Minute / 5) * 5 + 5).AddSeconds(delaySeconds);
if (isFirstIteration)
{
initialDelay = nextRunTime - DateTime.Now;
isFirstIteration = false;
}
delaySecondGR = nextRunTime - DateTime.Now;
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine($"Ожидание {delaySecondGR.TotalMinutes} минут");
Console.ResetColor();
continue; // Продолжаем цикл
}
else
{
int[] intervals = { 3, 8, 13, 18, 23, 28, 33, 38, 43, 48, 53, 58 };
int nextMinute = intervals.FirstOrDefault(i => i > minute);
DateTime nextTime = new DateTime(now.Year, now.Month, now.Day, now.Hour, nextMinute, 0);
TimeSpan remainingTime = nextTime - now;
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine($"Ожидание до ближайшего интервала (с 3 по 4 или с 8 по 9 минуту): {remainingTime.TotalSeconds} секунд");
Console.ResetColor();
Thread.Sleep(remainingTime);
}
}
else
{
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine($"Ожидание {delaySecondGR.TotalMinutes} минут");
Console.ResetColor();
TimeSpan elapsedTime = DateTime.Now - previousTime;
delaySecondGR -= elapsedTime;
previousTime = DateTime.Now;
break; // Прекращаем цикл
}
}
using System;
using System.IO;
using System.Globalization;
namespace sharis
{
class Program
{
public static string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\datetime";
public static DateTime last;
public static bool work = false;
public static TimeSpan time = new TimeSpan(0, 0, 30);
public static void Main(string[] args)
{
while(true)
{
if(File.Exists(path))
{
last = DateTime.Parse(File.ReadAllText(path));
if(DateTime.Now.Subtract(last) >= time)
work = true;
}
else
work = true;
for(int i = 21; i >= 0 && work; i -= 7)
{
if(i != 7)
Console.WriteLine(i);
else
{
last = DateTime.Now;
File.WriteAllText(path, last.ToString());
}
}
Console.ReadKey(true);
}
}
}
}
TimeSpan initialDelay = TimeSpan.Zero;
bool isFirstIteration = true;
DateTime previousTime = DateTime.Now;
while (true)
{
DateTime now = DateTime.Now;
int minute = now.Minute;
if (delaySecondGR <= TimeSpan.Zero)
{
if ((minute >= 3 && minute <= 4) || (minute >= 8 && minute <= 9) || (minute >= 13 && minute <= 14) || (minute >= 18 && minute <= 19) || (minute >= 23 && minute <= 24) || (minute >= 28 && minute <= 29) || (minute >= 33 && minute <= 34) || (minute >= 38 && minute <= 39) || (minute >= 43 && minute <= 44) || (minute >= 48 && minute <= 49) || (minute >= 53 && minute <= 54) || (minute >= 58 && minute <= 59))
{
// Поиск кнопки карта
try
{
IWebElement mapButton = driver.FindElement(By.CssSelector("a[href='map.php'] b"));
mapButton.Click();
}
catch (NoSuchElementException)
{
// Поиск родительского элемента кнопки карта
IWebElement mapButton = driver.FindElement(By.CssSelector("a[href='map.php'] img.mm_item_icon"));
// Найти <img> внутри родительского элемента
IWebElement mapImage = mapButton.FindElement(By.CssSelector("img.mm_item_icon"));
// Выполнить действие с <img>
mapImage.Click();
}
// Поиск таблицы с данными
IWebElement dataTable = driver.FindElement(By.CssSelector("div.global_table_div.map_obj_table_div table.wb"));
// Поиск всех строк с данными в таблице
IReadOnlyCollection<IWebElement> dataRows = dataTable.FindElements(By.CssSelector("tr.map_obj_table_hover"));
// Поиск и клик на верхних стрелочках "»»»"
bool foundWorkplace = false;
foreach (IWebElement row in dataRows)
{
IWebElement arrowLink = row.FindElement(By.CssSelector("a[href*='object-info.php']"));
arrowLink.Click();
foundWorkplace = true;
break; // Кликнули на первой найденной стрелочке и прекращаем цикл
}
// Если место работы не было найдено, выводим сообщение в чат
if (!foundWorkplace)
{
Console.WriteLine("Место для работы не было найдено.");
return;
}
try
{
// Поиск картинки кнопки
IWebElement imageButton = driver.FindElement(By.CssSelector("div.getjob_hover.gtjob_center input.getjob_submitBtn"));
// Клик на картинку кнопки
Console.ForegroundColor = ConsoleColor.Cyan; // устанавливаем цвет
Console.WriteLine("Вы успешно устроились на работу !");
Console.ResetColor(); // сбрасываем в стандартный
imageButton.Click();
}
catch (NoSuchElementException)
{
Console.ForegroundColor = ConsoleColor.Cyan; // устанавливаем цвет
Console.WriteLine("Вы не были устроены на работу. Разгадайте captcha самостоятельно.");
Console.ResetColor(); // сбрасываем в стандартный
}
// Поиск кнопки рулетки
try
{
IWebElement rouletteButton = driver.FindElement(By.CssSelector("a[href='roulette.php'] b"));
rouletteButton.Click();
}
catch (NoSuchElementException)
{
// Поиск родительского элемента кнопки рулетки
IWebElement parentElement = driver.FindElement(By.CssSelector(".mm_item_blue a[href='roulette.php']"));
// Найти <img> внутри родительского элемента
IWebElement rouletteImage = parentElement.FindElement(By.CssSelector("img.mm_item_icon"));
// Выполнить действие с <img>
rouletteImage.Click();
}
// Вычисление времени ближайшего запуска по расписанию с добавлением случайной задержки
Random random = new Random();
int delaySeconds = random.Next(3600, 3900);
DateTime nextRunTime = DateTime.Today.AddHours(now.Hour).AddMinutes((now.Minute / 5) * 5 + 5).AddSeconds(delaySeconds);
if (isFirstIteration)
{
initialDelay = nextRunTime - DateTime.Now;
isFirstIteration = false;
}
delaySecondGR = nextRunTime - DateTime.Now;
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine($"Ожидание {delaySecondGR.TotalMinutes} минут");
Console.ResetColor();
continue; // Продолжаем цикл
}
else
{
int[] intervals = { 3, 8, 13, 18, 23, 28, 33, 38, 43, 48, 53, 58 };
int nextMinute = intervals.FirstOrDefault(i => i > minute);
DateTime nextTime = new DateTime(now.Year, now.Month, now.Day, now.Hour, nextMinute, 0);
TimeSpan remainingTime = nextTime - now;
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine($"Ожидание до ближайшего интервала (с 3 по 4 или с 8 по 9 минуту): {remainingTime.TotalSeconds} секунд");
Console.ResetColor();
Thread.Sleep(remainingTime);
}
}
else
{
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine($"Ожидание {delaySecondGR.TotalMinutes} минут");
Console.ResetColor();
TimeSpan elapsedTime = DateTime.Now - previousTime;
delaySecondGR -= elapsedTime;
previousTime = DateTime.Now;
break; // Прекращаем цикл
}
}
TimeSpan initialDelay = TimeSpan.Zero;
bool isFirstIteration = true;
DateTime previousTime = DateTime.Now;
while (true)
{
DateTime now = DateTime.Now;
int minute = now.Minute;
if (delaySecondGR <= TimeSpan.Zero)
{
if ((minute >= 3 && minute <= 4) || (minute >= 8 && minute <= 9) || (minute >= 13 && minute <= 14) || (minute >= 18 && minute <= 19) || (minute >= 23 && minute <= 24) || (minute >= 28 && minute <= 29) || (minute >= 33 && minute <= 34) || (minute >= 38 && minute <= 39) || (minute >= 43 && minute <= 44) || (minute >= 48 && minute <= 49) || (minute >= 53 && minute <= 54) || (minute >= 58 && minute <= 59))
{
// Поиск кнопки карта
try
{
IWebElement mapButton = driver.FindElement(By.CssSelector("a[href='map.php'] b"));
mapButton.Click();
}
catch (NoSuchElementException)
{
// Поиск родительского элемента кнопки карта
IWebElement mapButton = driver.FindElement(By.CssSelector("a[href='map.php'] img.mm_item_icon"));
// Найти <img> внутри родительского элемента
IWebElement mapImage = mapButton.FindElement(By.CssSelector("img.mm_item_icon"));
// Выполнить действие с <img>
mapImage.Click();
}
// Поиск таблицы с данными
IWebElement dataTable = driver.FindElement(By.CssSelector("div.global_table_div.map_obj_table_div table.wb"));
// Поиск всех строк с данными в таблице
IReadOnlyCollection<IWebElement> dataRows = dataTable.FindElements(By.CssSelector("tr.map_obj_table_hover"));
// Поиск и клик на верхних стрелочках "»»»"
bool foundWorkplace = false;
foreach (IWebElement row in dataRows)
{
IWebElement arrowLink = row.FindElement(By.CssSelector("a[href*='object-info.php']"));
arrowLink.Click();
foundWorkplace = true;
break; // Кликнули на первой найденной стрелочке и прекращаем цикл
}
// Если место работы не было найдено, выводим сообщение в чат
if (!foundWorkplace)
{
Console.WriteLine("Место для работы не было найдено.");
return;
}
try
{
// Поиск картинки кнопки
IWebElement imageButton = driver.FindElement(By.CssSelector("div.getjob_hover.gtjob_center input.getjob_submitBtn"));
// Клик на картинку кнопки
Console.ForegroundColor = ConsoleColor.Cyan; // устанавливаем цвет
Console.WriteLine("Вы успешно устроились на работу !");
Console.ResetColor(); // сбрасываем в стандартный
imageButton.Click();
}
catch (NoSuchElementException)
{
Console.ForegroundColor = ConsoleColor.Cyan; // устанавливаем цвет
Console.WriteLine("Вы не были устроены на работу. Разгадайте captcha самостоятельно.");
Console.ResetColor(); // сбрасываем в стандартный
}
// Поиск кнопки рулетки
try
{
IWebElement rouletteButton = driver.FindElement(By.CssSelector("a[href='roulette.php'] b"));
rouletteButton.Click();
}
catch (NoSuchElementException)
{
// Поиск родительского элемента кнопки рулетки
IWebElement parentElement = driver.FindElement(By.CssSelector(".mm_item_blue a[href='roulette.php']"));
// Найти <img> внутри родительского элемента
IWebElement rouletteImage = parentElement.FindElement(By.CssSelector("img.mm_item_icon"));
// Выполнить действие с <img>
rouletteImage.Click();
}
// Вычисление времени ближайшего запуска по расписанию с добавлением случайной задержки
Random random = new Random();
int delaySeconds = random.Next(3600, 3900);
DateTime nextRunTime = DateTime.Today.AddHours(now.Hour).AddMinutes((now.Minute / 5) * 5 + 5).AddSeconds(delaySeconds);
if (isFirstIteration)
{
initialDelay = nextRunTime - DateTime.Now;
isFirstIteration = false;
}
delaySecondGR = nextRunTime - DateTime.Now;
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine($"Ожидание {delaySecondGR.TotalMinutes} минут");
Console.ResetColor();
continue; // Продолжаем цикл
}
else
{
int[] intervals = { 3, 8, 13, 18, 23, 28, 33, 38, 43, 48, 53, 58 };
int nextMinute = intervals.FirstOrDefault(i => i > minute);
DateTime nextTime = new DateTime(now.Year, now.Month, now.Day, now.Hour, nextMinute, 0);
TimeSpan remainingTime = nextTime - now;
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine($"Ожидание до ближайшего интервала (с 3 по 4 или с 8 по 9 минуту): {remainingTime.TotalSeconds} секунд");
Console.ResetColor();
Thread.Sleep(remainingTime);
}
}
else
{
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine($"Ожидание {delaySecondGR.TotalMinutes} минут");
Console.ResetColor();
TimeSpan elapsedTime = DateTime.Now - previousTime;
delaySecondGR -= elapsedTime;
previousTime = DateTime.Now;
break; // Прекращаем цикл
}
}