- Регистрация
- 03.10.2018
- Сообщения
- 1 136
- Благодарностей
- 196
- Баллы
- 63
Доброй ночи, форумчане)
Подскажите пожалуйста где я накосячил с кодом?
Что должно происходить:
1. я беру 3и Html элемента, коллекция получается
2. потом надо в список их все скинуть (в массив вроде нельзя)
3. потом кликнуть по всем 3м, если среди них найден целевой сайт, то пропустить этот элемент
Ошибки, которые получаю:
Ошибка в действии "CS1502" "Наиболее подходящий перегруженный метод для "System.Collections.Generic.List<ZennoLab.CommandCenter.HtmlElement>.Add(ZennoLab.CommandCenter.HtmlElement)" имеет несколько недопустимых аргументов". [Строка: 184; Cтолбец: 3]
Ошибка в действии "CS1503" "Аргумент "1": преобразование типа из "string" в "ZennoLab.CommandCenter.HtmlElement" невозможно". [Строка: 184; Cтолбец: 12]
Ошибка в действии "CS0029" "Неявное преобразование типа "string" в "bool" невозможно". [Строка: 186; Cтолбец: 8]
Подскажите пожалуйста где я накосячил с кодом?
C#:
if(adv_spec_clk){
//Ищем коллекцию элементов в спец выдаче
var spec_rivals = tab.FindElementsByXPath("//a[@class='/html[starts-with(@class,'i-ua_js_yes')]/body[starts-with(@class,'b-page')]/div[starts-with(@class,'main')]/div[@class='main__center']/div[@class='main__content']/div[starts-with(@class,'content')]/div[@class='content__left']/ul[starts-with(@class,'serp-list')]/li[@class='serp-item']/div[starts-with(@class,'organic')]/div[starts-with(@class,'organic__subtitle')]/div[starts-with(@class,'path')]/a[starts-with(@class,'link')]/b']");
if(spec_rivals.Count==0) throw new Exception("Не найдены посты в рекламной спец.выдаче..");
var spec_rival = spec_rivals.GetByNumber(rnd.Next(0,spec_rivals.Count));
string spec_rival_dom_name = spec_rival.GetAttribute("innertext");
List<HtmlElement> list = new List<HtmlElement>();
list.Add(spec_rival);
foreach (HtmlElement htmlElement in list) {
if(spec_rival_dom_name = my_site){
project.SendInfoToLog("Целевой сайт присутствует в рекламной спец.выдаче, пропускам, берем другой...", true);
continue;
}
}
project.SendInfoToLog("Кликаем на сайт " + spec_rival, true);
tab.FullEmulationMouseMoveToHtmlElement(spec_rival);
Thread.Sleep(rnd.Next(450, 950));
tab.FullEmulationMouseClick("left", "click");
tab.WaitDownloading();
Thread.Sleep(rnd.Next(250, 950));
OwnCode.CommonCode.WalkCode(project, instance);
tab.Close();
}
1. я беру 3и Html элемента, коллекция получается
2. потом надо в список их все скинуть (в массив вроде нельзя)
3. потом кликнуть по всем 3м, если среди них найден целевой сайт, то пропустить этот элемент
Ошибки, которые получаю:
Ошибка в действии "CS1502" "Наиболее подходящий перегруженный метод для "System.Collections.Generic.List<ZennoLab.CommandCenter.HtmlElement>.Add(ZennoLab.CommandCenter.HtmlElement)" имеет несколько недопустимых аргументов". [Строка: 184; Cтолбец: 3]
Ошибка в действии "CS1503" "Аргумент "1": преобразование типа из "string" в "ZennoLab.CommandCenter.HtmlElement" невозможно". [Строка: 184; Cтолбец: 12]
Ошибка в действии "CS0029" "Неявное преобразование типа "string" в "bool" невозможно". [Строка: 186; Cтолбец: 8]