Извлечение значения из следующего td в таблице с использованием селена

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

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

Я выбрал ячейку, используя этот xpath "div [starts-with (text(), 'MyVal')]". Я не знал, как получить значение 65 из этого. Я пытался следовать и следовать за братьями и сестрами. Это не сработало .Может ли кто-нибудь помочь мне с этим.


person Deepak Ramakrishnan Kalidass    schedule 04.02.2016    source источник
comment
Вы пробовали этот xpath: //div[text()='65')].   -  person Saritha G    schedule 04.02.2016


Ответы (1)


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

parent::td/following-sibling::td[1]/div
person har07    schedule 04.02.2016
comment
Я пробовал так, как вы сказали, с регулярным выражением parent::div[starts-with(text(),' MyValue')]/following-sibling::td[1]. Но я получаю сообщение об ошибке, говорящее, что NoSuchElementException: Message: Не удалось найти элемент: {method:xpath,selector:parent::div[starts-with(text(),'MyValue')]/following-sibling::td[1]} - person Deepak Ramakrishnan Kalidass; 04.02.2016
comment
@user2078883 user2078883 Я предположил, что вы уже получили div[starts-with(text(),'MyVal')] и хотите выполнить другой XPath относительно следующего div. Теперь я не понимаю, почему вы делаете parent::div[starts-with(text(),' MyValue')]..., XPath должен быть именно таким, как я написал выше - person har07; 04.02.2016
comment
@user2078883 user2078883 Я думаю, что абсолютный XPath, если хотите, будет примерно таким: //div[starts-with(text(),'MyVal')]/parent::td/following-sibling::td[1]/div - person har07; 04.02.2016