Dyn Yr Ogof Ответов: 3

Как получить каждый & lt;td> с веб-страницы.


У меня есть коллекция веб-страниц, которые мне нужно прочесать, чтобы найти ценности, и я понятия не имею, с чего начать. :)

<td><button value="Right" action="Guard" width="80" height="20"></button></td>


Изнутри этого мне нужно извлечь значения из значения кнопки и действия

то, как я попробовал ниже, работает нормально для 1 таблицы на 1 веб-странице, другие веб-страницы имеют другую структуру :S

конструктивная критика приветствуется :)

Что я уже пробовал:

int _Counter1 = webBrowser1.Document.GetElementsByTagName("table")[14].GetElementsByTagName("td").Count;
            if (_Counter1 > 0)
            {
                for (int index1 = 0; index1 < _Counter1 - 1; index1++)
                {
                    try
                    {
                        string one = (webBrowser1.Document.GetElementsByTagName("table")[14].GetElementsByTagName("td")[1 + index1].InnerHtml);
                        string two = one.Split('"', '"')[9];
                        string three = one.Split('"', '"')[11];

                        if( one.Contains("Right") && one.Contains("Guard"))
                        {
                            richTextBox1.AppendText(three + " " + two + Environment.NewLine);
                        }
                                               
                    }
                    catch { }
                }
            }

3 Ответов

Рейтинг:
1

OriginalGriff

Попробуйте регулярное выражение:

(?<=<td><button value=")(?<Value>.*?)" action="(?<Action>.*?)(?=".*?></button></td>)
Это даст вам две группы:" значение "и" действие", содержащие информацию.


Рейтинг:
0

Prabhanjant

Сначала сохраните все веб-страницы в массиве, перенаправьте на каждую страницу и соберите необходимую вам информацию. В visual studio перейдите в Диспетчер пакетов Nuget и добавьте пакет HTML agility. Ниже приведены ссылки для вашей справки
Выскабливание HTML DOM-элементов с помощью HtmlAgilityPack (HAP) в ASP.NET[^]
Начало работы с HTML ловкость обновления[^]


Рейтинг:
0

Dyn Yr Ogof

Как мне повезло, я решил ее через несколько минут после того, как спросил :

int _Counter1 = webBrowser1.Document.GetElementsByTagName("button").Count;
            if (_Counter1 > 0)
            {
                for (int index1 = 0; index1 < _Counter1 - 1; index1++)
                {
                    try
                    {
                        string one = webBrowser1.Document.GetElementsByTagName("button")[1 + index1].OuterHtml;
                        string two = one.Split('"', '"')[9];
                        string three = one.Split('"', '"')[11];
                        if (three.Length != 0)
                        {
                            richTextBox1.AppendText(three + " " + two + Environment.NewLine);
                            
                        }
                        //MessageBox.Show(one);
                    }
                    catch { }
                }
            }