Всем привет)
Накатал код для работы с гуглом. Можете помочь разобраться, где какие ошибки возникают?
Только осваиваю c# )
Ошибки такие:
Ошибка в действии "CS1501" "Ни одна из перегрузок метода "FindElementByXPath" не принимает "1" аргументов". [Строка: 16; Cтолбец: 41]
Ошибка в действии "CS1501" "Ни одна из перегрузок метода "FindElementByXPath" не принимает "1" аргументов". [Строка: 21; Cтолбец: 48]
Ошибка в действии "CS1501" "Ни одна из перегрузок метода "FullEmulationMouseMoveAboveHtmlElement" не принимает "1" аргументов". [Строка: 21; Cтолбец: 4]
Ошибка в действии "CS0246" "Не удалось найти имя типа или пространства имен "HmtlElement" (пропущена директива using или ссылка на сборку?)". [Строка: 31; Cтолбец: 3]
Что должен делать:
Предварительно заходим в гугл по нужному запросу, дальше работает этот код:
1. Ищем нужный домен на заданном количестве страниц (задается в настройках pages_c)
2. Если не нашли на первой, перелистываем стр дальше, пока
3. не найдем или пока не закончатся стр
все.
var rnd = new Random();
Tab tab1 = instance.ActiveTab;
string targetDomain = project.Variables["target_domain"].Value;
if (String.IsNullOrWhiteSpace(targetDomain)){
return "Имя домена не может быть пустой строкой..";
}
project.SendInfoToLog(String.Format("Переходим на сайт {0}", targetDomain), true);
string targetXPath = String.Format("//a[@id='pnnext']/span[2]", targetDomain);
int serpPagesLimit = Int32.Parse(project.Variables["pages_c"].Value);
HtmlElement ClickPosition = null;
for(int currentSerpPage = 1; currentSerpPage <= serpPagesLimit; currentSerpPage++){
project.SendInfoToLog(String.Format("Начинаем с №{0} страницы выдачи", currentSerpPage), true);
HtmlElemntCollection domainPosition = tab1.FindElementByXPath(String.Format("//h3[@class='LC20lb']", targetDomain));
if(domainPosition.Count==0) {
project.SendInfoToLog(String.Format("Не нашли домен на 1й странице выдачи", targetDomain, currentSerpPage), true);
}
else{
tab1.FullEmulationMouseMoveAboveHtmlElement(tab1.FindElementByXPath(String.Format("//h3[@class='LC20lb']", targetDomain)));
Thread.Sleep(rnd.Next(120, 320));
tab1.FullEmulationMouseClick("left", "click");
Thread.Sleep(4000);
tab1 = instance.GetTabByAddress("popup");
tab1.WaitDownloading();
}
HmtlElement elemNext = tab1.FindElementByXPath("//a[@id='pnnext']/span[2]", 0);
if(elemNext.IsVoid) {
project.SendInfoToLog("Не найдена ссылка 'Следующая' в поиске..", true);
break;
}
tab1.FullEmulationMouseMoveToHtmlElement(elemNext);
Thread.Sleep(rnd.Next(120, 340));
tab1.FullEmulationMouseClick("left","click");
tab1.WaitDownloading();
}