Переход по href с постоянным изменением окончания ссылки - C#
Формулировка задачи:
в общем, нужно написать мини бот для меня ленивого для фарма ресурса, и все бы хорошо и весело юзал бы я всякие autoit или clickermann, но выделяются две проблемы
1)координаты кнопки не постоянны
2)как я и говорил ссылка так же не постоянна
небольшой скрин, вдруг я что-то не так объяснил, ну и наверняка есть способы как сделать это удобнее и быстрее, было бы неплохо получить советы/подсказки что юзать и как
Решение задачи: «Переход по href с постоянным изменением окончания ссылки»
textual
Листинг программы
using System;
using System.Threading.Tasks;
using Awesomium.Core;
namespace MarafonService
{
public static class WVExtesions
{
public static Task<bool> WaitForLoadingComplete(this IWebView wv)
{
return WaitForLoadingComplete(wv, new TimeSpan(0, 0, 15));
}
public static Task<bool> WaitForLoadingComplete(this IWebView wv, TimeSpan timeout)
{
var tcs = new TaskCompletionSource<bool>();
System.Timers.Timer t = new System.Timers.Timer(timeout.TotalMilliseconds);
t.Elapsed += (s, e) =>
{
((System.Timers.Timer)t).Dispose();
tcs.TrySetResult(false);
};
FrameEventHandler handler = ((sender, e) =>
{
if (!(sender as IWebView).IsLoading)
{
tcs.TrySetResult(true);
}
}
);
t.Start();
wv.LoadingFrameComplete += handler;
tcs.Task.ContinueWith(_ =>
{
t.Dispose();
wv.LoadingFrameComplete -= handler;
}, TaskContinuationOptions.ExecuteSynchronously);
return tcs.Task;
}
public static void JsFireEvent(this IWebView wv, string getElementQuery, string eventName)
{
wv.ExecuteJavascriptWithResult(@"
function fireEvent(element,event) {
var evt = document.createEvent('HTMLEvents');
evt.initEvent(event, true, true ); // event type,bubbling,cancelable
element.dispatchEvent(evt);
}
" + String.Format("fireEvent({0}, '{1}');", getElementQuery, eventName));
}
}
}