Найти элементы по «классу» ТОЛЬКО в определенном «id» с селеном - PullRequest
0 голосов
/ 08 ноября 2019

Я новичок в очистке и пытаюсь очистить данные с простой статической веб-страницы. Веб-страница организована в виде таблиц, и я хочу получать данные только из id «Таблица1» (красный прямоугольник на рисунке). Однако я не могу этого достичь.

Я хочу содержимое 'LabelColumn' & 'DataColumn', но только в пределах 'Table1' Когда я делаю find_elements_by_class_name("LabelColumn") & driver.find_elements_by_class_name("DataColumn"), я получаю 'LabelColumn'& 'DataColumn' данные для всей страницы, и это не то, что я хочу (это создает ненужные данные и занимает больше времени). Может ли кто-нибудь руководство о том, как это сделать? Я попытался найти xpath, но я получаю сообщения об ошибках, которые отсутствуют, я думаю, что я делаю что-то не так.

Синий прямоугольник показывает только пару 'LabelColumn' и 'DataColumn' в пределах 'Table1',В Зеленом прямоугольнике их больше. Я свернул их, чтобы уменьшить размер изображения).

enter image description here

Обновление Пробный код (это по-прежнему дает содержаниевся страница, а не содержимое элемента Table1

table1 = driver.find_element_by_id("Table1")
labels = table1.find_elements_by_xpath(".//td[@class='LabelColumn']")
contents = table1.find_elements_by_xpath(".//td[@class='DataColumn']")

1 Ответ

1 голос
/ 08 ноября 2019

Вы можете использовать ниже xpath.

//table[@id='Table1']//td[@class='LabelColumn']
//table[@id='Table1']//td[@class='DataColumn']

или следующий css

table[id='Table1'] .LabelColumn
table[id='Table1'] .DataColumn
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...