- Регистрация
- 14.10.2019
- Сообщения
- 100
- Благодарностей
- 55
- Баллы
- 28
Привет, я учусь C#, посмотрите код пожалуйста, где ошибка, сам разобраться не могу
Компиляция кода Ошибка в действии "CS1003" "Syntax error, ',' expected". [Строка: 42; Cтолбец: 28]
Компиляция кода Ошибка в действии "CS1513" "} expected". [Строка: 58; Cтолбец: 2]
C#:
string db_host = project.Variables["db_server"].Value+":"+project.Variables["db_port"].Value; // хост
string db_user = project.Variables["db_login"].Value; // username для подключения к MySQL
string db_pswd = project.Variables["db_password"].Value; // пароль для подключения к MySQL
string db_database = project.Variables["db_name"].Value; // название БД с которой будет работа
string db_charset = "utf8"; // кодировка данных в таблицах
DB db = new DB(db_host, db_user, db_pswd, db_database, db_charset);
IZennoTable table = project.Tables["Страницы"];
//string parent = project.Variables["link"].Value;
table.ColSeparator = ";";
//Получаем текущу активную вкладку
Tab tab = instance.ActiveTab;
string url = tab.URL;
//Соберем все наши элементы используя "//div[starts-with(@data-id, 'model-')]" - xPath запрос. Будьте внимальны и используйте FindElementsByXPath.
HtmlElementCollection itemsCollection = tab.FindElementsByXPath("//span[contains(text(), 'Все видео')]/../../../div//a[contains(@href, \"/videos/\")]/../../../div");
//Лайфхак. Раскомментировать (Чтобы проверить, работает ли xPath) можно отправить в лог информацию о текущем количестве элементов в коллекции
//project.SendInfoToLog("Количество элементов на страничке = " + itemsCollection.Count().ToString(), true);//div[@id=\"page_category_main_column\"]//button/../../..//a
//начинаем перебирать сформированную коллекцию HtmlElement-ов
foreach(HtmlElement item in itemsCollection)
{
//Обращаемся к каждому элементу, как к пездюку через точку.
HtmlElement a = item.FindChildByXPath("./descendant::div//a", 1);
HtmlElement likes = item.FindChildByXPath("/div", 2);
/*HtmlElement priceFromItem = item.FindChildByXPath("./descendant::div[contains(@class, 'card__price')]", 0);
HtmlElement priceToItem = item.FindChildByXPath("./descendant::div[contains(@class, 'card__subprice')]", 0);
HtmlElement rateItem = item.FindChildByXPath("./descendant::div[@date-rate]", 0);
HtmlElement itemOuterHtml = item;
string link = new Regex("https://www\\.facebook\\.com(.*?/)*(?=\\?)").Match(a.OuterHtml).Value;
*/
HtmlElement itemOuterHtml = item;
string link = new Regex("(?<=href=\")/\\d+/videos/\\d+/(?=\")").Match(a.OuterHtml).Value;
if (link != null && link != ""){
string views = new Regex("(?<=Просмотры:\\ ).*?(?=</div>)").Match(item.OuterHtml).Value;
if (views.Contains(",") == true)
{ string counter1 = Macros.TextProcessing.Replace(views, " ", "", "Text", "All");
string counter2 = Macros.TextProcessing.Replace(counter1, "тыс.", "00", "Text", "All");
string counter3 = Macros.TextProcessing.Replace(counter2, ",", "", "Text", "All");
string counter4 = Macros.TextProcessing.Replace(counter3, "млн", "00000", "Text", "All");
}
string counter1 = Macros.TextProcessing.Replace(views, " ", "", "Text", "All");
string counter2 = Macros.TextProcessing.Replace(counter1, "тыс.", "000", "Text", "All");
string counter3 = Macros.TextProcessing.Replace(counter2, ",", "", "Text", "All");
string counter4 = Macros.TextProcessing.Replace(counter3, "млн", "000000", "Text", "All");
string like = new Regex("(?<=Просмотры:\\ .*\\n).*?(?=\\n)").Match(likes.InnerText).Value;
string counter11 = Macros.TextProcessing.Replace(like, " ", "", "Text", "All");
string counter22 = Macros.TextProcessing.Replace(counter11, "тыс.", "000", "Text", "All");
string counter33 = Macros.TextProcessing.Replace(counter22, ",", "", "Text", "All");
string counter44 = Macros.TextProcessing.Replace(counter33, "млн", "000000", "Text", "All");
//string like = new Regex("\\d+").Match(item.InnerText).Value;
table.AddRow(a.InnerText+";"+link+";"+counter4+";"+item.InnerText);
//db.query("INSERT INTO `pages` (`name`, `link`, `category`, `likes`) VALUES ('"+a.InnerText+"', '"+link+"', '"+parent+"', '"+counter4+"');");
}
}
Компиляция кода Ошибка в действии "CS1003" "Syntax error, ',' expected". [Строка: 42; Cтолбец: 28]
Компиляция кода Ошибка в действии "CS1513" "} expected". [Строка: 58; Cтолбец: 2]
Последнее редактирование: