zennoposter 7.6.0 пытаюсь на GPU запустить разгадывание в несколько потоков(5) падает зенка во время решения капчи, в чем может быть проблема?
В 1 поток работает нормально.
C#:
instance.UseFullMouseEmulation = false;
Tab tab = instance.ActiveTab;
HtmlElement el = null;
HtmlElementCollection elms = null;
var gpucfg = new GpuConfig();
string yoloNames = project.Directory+@"\coco.names";
string yoloCfg = project.Directory+@"\yolov3.cfg";
string yoloWeights = project.Directory+@"\yolov3.weights";
var config = new YoloConfiguration(yoloCfg, yoloWeights, yoloNames);
YoloWrapper yolo = new YoloWrapper(config, gpucfg);
el = tab.FindElementByXPath("//*[@id='checkbox']", 0);
if(el.OuterHtml.Contains("checkbox checked"))
{
return "";
}
el.Click();
Thread.Sleep(2000);
for(int n = 0; n < 10; n++)
{
for(int i = 0; i < 10; i++)
{
Thread.Sleep(500);
el = tab.FindElementByXPath("//div[contains(@class, 'task-grid')]", 0);
if(!el.IsVoid && el.DisplacementInBrowser.X > 0)
break;
el = tab.FindElementByXPath("//*[@id='checkbox']", 0);
if(el.OuterHtml.Contains("checkbox checked"))
{
return "";
}
}
string task = tab.FindElementByXPath("//div[@class='prompt-padding']/div[@class='prompt-text']", 0).InnerText;
project.SendInfoToLog(task);
elms = tab.FindElementsByXPath("//div[contains(@class, 'task-grid')]/div[@class='task-image']");
foreach(var elm in elms)
{
tab.FullEmulationMouseMoveToHtmlElement(elm);
var items = yolo.Detect(Convert.FromBase64String(elm.DrawToBitmap(false)).ToArray()).ToList();
foreach(var item in items)
{
if(!task.ToLower().Contains(item.Type.ToLower()))
continue;
tab.FullEmulationMouseClick("left", "click");
break;
}
}
Thread.Sleep(500);
el = tab.FindElementByXPath("//div[contains(@class,'button-submit')]", 0);
tab.FullEmulationMouseMoveToHtmlElement(el);
tab.FullEmulationMouseClick("left", "click");
Thread.Sleep(500);
if(tab.FindElementByXPath("//div[contains(@class, 'task-grid')]", 0).IsVoid)
break;
}
Последнее редактирование: