2014-09-26 3 views
2

Это мой HTML-код:Перехода от одного тега HTML в другой с помощью Xpath

<pre> 
<span class="cm-string">"userId"</span> 
":" 
<span class="cm-string">"abc"</span> 
"," 
</pre> 

мне нужно, чтобы захватить текст «ABC» из тега «USERID» в качестве значения а постоянно меняются мгновенно.

Я пробовал со следующим кодом, и он не прошел.

driver.findElement(By.xpath("//span[contains(text(),'userId')]/span")).getText(); 
+0

Ваш вопрос не имеет смысла. Нет тега 'userId'. «userId» сам является текстовым содержимым элемента 'span'. Кроме того, ваш код java не имеет смысла, потому что вы выбираете 'span', который содержит определенную строку, а затем ... возвращает эту строку? –

ответ

2

span, содержащий abc является следующий родственный к span, содержащей UserId, использовать его:

//span[contains(., 'userId')]/following-sibling::span 
+0

Еще одно сомнение, существует много подстроки с именем «userId», как я могу найти точную строку «userId»? Ниже код дает ошибку из-за котов // span [содержит (., '"UserId"')]/next-sibling :: span – user3174553

+0

@ user3174553 уверен, просто избегайте кавычек и не используйте 'contains()': '//оболочка [. = '\ "userId \"']/next-sibling :: span' – alecxe

+0

 "userId" ":" "abc" "," 
 "password" ":" "xyz" "," 
в этом вышеприведенном коде, как мне получить доступ из abc в xyz. я буду очень благодарен, если вы поможете мне с этим последним кодом. – user3174553

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