1

У меня есть ситуация, в которой я должен извлечь текст и выбрать строку, а затем я должен получить значение, которое присутствует в td прямо рядом с выбранной мной ячейкой. соответствующий HTML страница выглядит следующим образом:.Извлечение значения из следующего td в таблице с использованием селена

<td id='145'> 
    <div> MyValue </div> 
</td> 
<td> 
    <div>65</div> 
</td> 

Я выбрал клетку с помощью этого XPath «Див [начинается-с (текст(),„MyVal“)]» Я не знаю, как получить значение 65 от этого. Я пробовал следующих и следующих братьев и сестер. Это не получилось. Может кто-нибудь мне помочь с этим.

+0

вы пробовали этот XPath: // ДИВ [текст() = '65')]. –

ответ

1

Вы можете сделать following-sibling::td[1] на родительский элемент td выбранный <div> MyValue </div>, чтобы получить ближайший следующий td. Тогда, с этого момента вы можете легко вернуть соответствующий ребенок div элемент:

parent::td/following-sibling::td[1]/div 
+0

Я пробовал этот путь, как вы сказали, с регулярным выражением «parent :: div [start-with (text(), 'MyValue')]/follow-sibling :: td [1]". Но я получаю сообщение об ошибке NoSuchElementException : Сообщение: Не удалось найти элемент: {"method": "xpath", "selector": "parent :: div [start-with (text(), 'MyValue')]/next-sibling :: td [1] "} – user2078883

+0

@ user2078883 Я предположил, что вы уже получили' div [start-with (text(), 'MyVal')] 'и хотите выполнить другой XPath относительно' div' next. Теперь я не понимаю, почему вы делаете 'parent :: div [start-with (text(), 'MyValue')] ...', XPath должен быть точно таким, как я опубликовал выше – har07

+0

@ user2078883 Я думаю, что абсолютный XPath, если хотите, будет примерно таким: '// div [start-with (text(), 'MyVal')]/parent :: td/follow-sibling :: td [1]/div' – har07

Смежные вопросы