【问题标题】:Clarification on relative xpath关于相对 xpath 的说明
【发布时间】:2016-07-01 15:45:55
【问题描述】:

我想要一个代表元素 2 w.r.t 元素 1 的 xpath,如下图所示。我可以使用 follow-sibling 构建它吗?

任何帮助表示赞赏。

<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;">
	<div class="md-card-list-item-menu" data-uk-dropdown="{mode:'click',pos:'bottom-right'}">
		<span>12:35:22 PM</span>
		<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>
	</div>
	<div class="md-card-list-item-sender">
		<span>
			<i class="material-icons">face</i>
 			CDYCUQYGNKYNFNFCWOUO
		</span>
	</div>
	<div class="md-card-list-item-sender">
		<span>
			<i class="material-icons">call</i>
 			+91-1119771441
		</span>
	</div>
	<div class="md-card-list-item-subject">
		<span>
			<i class="material-icons">email</i>
			 rnkntsoorh@jd.com
		</span>
	</div>
	<div class="md-card md-card-list-item-content-wrapper uk-margin-top" onclick="showModal(446)" style="display: block; opacity: 1;">
		<div class="md-card-content leads_card_content">
			<div class="uk-text-large uk-margin-remove">
				<b>Remarks:</b>
 				Some remarks of TSYNTORSAC
			</div>
		</div>
	</div>
<br/>
</li>

我想从具有文本“CDYCUQYGNKYNFNFCWOUO”的 div 开始,并找到具有文本“TSYNTORSAC 的一些评论”的 div。

【问题讨论】:

  • 请不要在发布问题代码时使用屏幕截图。请发布格式正确的文本
  • 如果您真的想要解决方案,您需要分享您的 HTML 代码或网站 URL,而不是屏幕截图....
  • 抱歉,我现在已经编辑了问题。请做必要的事情。

标签: selenium selenium-webdriver testng


【解决方案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

希望对你有帮助..:)

【讨论】:

  • 感谢对 Saurabh 的帮助... :)
【解决方案2】:

除了 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']

希望对你有帮助

【讨论】:

    【解决方案3】:

    您可以简单地获取包含所需文本的元素,而不是使用following

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

    【讨论】:

      【解决方案4】:

      试试这个:-

      //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')]]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-08-29
        • 2019-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多