2016-06-30 63 views
1

我想要一个表示元素2 w.r.t元素1的xpath,如下图所示。我可以使用以下兄弟来构建它吗?关于xpath的说明

任何帮助表示赞赏。

enter image description here

<div id="leads_data" class="uk-width-large-8-12 uk-container-center"> 
 
<div class="md-card-list leads_cards_list"> 
 
    <ul class=""> 
 
    <li class="item-shown" style="margin: 40px -20px; min-height: 90px;"> 
 
\t <div class="md-card-list-item-menu" data-uk-dropdown="{mode:'click',pos:'bottom-right'}"> 
 
\t \t <span>12:35:22 PM</span> 
 
\t \t <a class="md-btn md-btn-flat md-btn-wave waves-effect waves-button" onclick="showModal(446)" data-uk-modal="{ center:true }" href="#lead_info">Edit</a> 
 
\t </div> 
 
\t <div class="md-card-list-item-sender"> 
 
\t \t <span> 
 
\t \t \t <i class="material-icons">face</i> 
 
    \t \t \t CDYCUQYGNKYNFNFCWOUO 
 
\t \t </span> 
 
\t </div> 
 
\t <div class="md-card-list-item-sender"> 
 
\t \t <span> 
 
\t \t \t <i class="material-icons">call</i> 
 
    \t \t \t +91-1119771441 
 
\t \t </span> 
 
\t </div> 
 
\t <div class="md-card-list-item-subject"> 
 
\t \t <span> 
 
\t \t \t <i class="material-icons">email</i> 
 
\t \t \t [email protected] 
 
\t \t </span> 
 
\t </div> 
 
\t <div class="md-card md-card-list-item-content-wrapper uk-margin-top" onclick="showModal(446)" style="display: block; opacity: 1;"> 
 
\t \t <div class="md-card-content leads_card_content"> 
 
\t \t \t <div class="uk-text-large uk-margin-remove"> 
 
\t \t \t \t <b>Remarks:</b> 
 
    \t \t \t \t Some remarks of TSYNTORSAC 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t </div> 
 
<br/> 
 
</li>

我要开始与格具有文本 “CDYCUQYGNKYNFNFCWOUO”,找到具有文本 “TSYNTORSAC的一些言论” 股利。

+1

请不要在您发布问题代码时使用屏幕截图。发布正确格式的文本,请 –

+0

如果你真的想要一个解决方案,你需要分享你的HTML代码或网站URL而不是截图。 –

+0

对不起,我现在编辑了这个问题。请做有需要的人。 –

回答

1

您可以使用下面xPath: -

//span[contains(.,'CDYCUQYGNKYNFNFCWOUO')]/parent::div/following::div[contains(.,'Some remarks of TSYNTORSAC')][last()] 

//span[contains(.,'CDYCUQYGNKYNFNFCWOUO')]/parent::div/following::div[contains(.,'Some remarks of TSYNTORSAC') and contains(@class, 'uk-text-large uk-margin-remove')] 

//span[contains(.,'CDYCUQYGNKYNFNFCWOUO')]/parent::div/following-sibling::div[contains(.,'Some remarks of TSYNTORSAC')]/descendant::div[contains(@class, 'uk-text-large uk-margin-remove')] 

//span[contains(.,'CDYCUQYGNKYNFNFCWOUO')]/parent::div/following-sibling::div[contains(.,'Some remarks of TSYNTORSAC')]/div/div 

希望它能帮助你.. :)

+0

感谢那些帮助SAURABH ... :) –

+0

@PrakashP你总是欢迎...快乐的学习.. :) –

0

除了Saurabh gaur描述的方法之外,你还可以使用following-sibling来找到想要的元素。

.//span[text()='CDYCUQYGNKYNFNFCWOUO']/../following-sibling::div[position()=3]//div[contains(.,'Some remarks of TSYNTORSAC')] 

.//span[text()='CDYCUQYGNKYNFNFCWOUO']/../following-sibling::div[position()=3]/div/div[contains(text(),'Some remarks of TSYNTORSAC'] 

希望这有助于

+0

感谢KARTHIK,我会尝试一下... –

0

你可以简单地得到含元素所需的文本,而不是使用following

//li[div[normalize-space(.)='face CDYCUQYGNKYNFNFCWOUO']]/div[last()] 
+0

感谢迈克尔...我会尝试了这一点。 .. –

0

试试这个: -

//div[contains(@class,'md-card-list-item-sende') and contains(.,'CDYCUQYGNKYNFNFCWOUO')]/following::div[contains(@class,'md-card-list-item-content') and descendant::b[contains(.,'Remarks')]]