我有一个<div>
课程,其中包含<a>
代码和<h3>
代码以及相同的<div>
代码。我只是想根据<a>
文字点击该div类的<h3>
。
如下例所示,div类名称为&#34; product eq-height &#34;让<h3>
标记有一些文字&#34; Applet Iphone 5S&#34; 如果找到此结果,则点击<a>
名为&#34的类; 选择-device按钮&#34;
但是这个div类多次出现在页面上不同的H3文本。
<div class="product eq-height" style="padding-bottom: 0px ! important; min-height: 329px;">
<h3 class="h4">Apple Iphone 5S</h3>
<input name="productModel" value="Apple Iphone 5S" type="hidden">
<div class="subtitle">
<span>Apple</span>
</div>
<a class="select-device-button" href="javascript:void(0);">
<div class="item">
<img alt="" class="prod-img-lrg lazyloaded" data-src="https://vgeco-oat1.vodafone.com/images/Iphone 5S.jpg" src="https://vgeco-oat1.vodafone.com/images/Iphone 5S.jpg"> <noscript><img alt="" src="https://vgeco-oat1.vodafone.com/images/Iphone 5S.jpg"></noscript>
</div></a>
<div class="info">
<div class="inner">
<ul class="cost">
<li><b>Total cost</b>
</li>
<li class="price">£ 300.00</li>
</ul>
<ul class="cost">
<li><b>My cost</b>
</li>
<li class="price">£ 106.99</li>
</ul>
</div>
<div class="cta">
<a class="btn btn-sml select-device-button" href="javascript:void(0);">Select</a>
</div>
</div>
<div class="co-link-wrap txt-center">
</div>
</div>
答案 0 :(得分:2)
这是一个可能的XPath表达式:
//div[@class='product eq-height' and h3='Apple Iphone 5S']/a[@class='select-device-button']
解释:
//div[@class='product eq-height' and h3='Apple Iphone 5S']
:上述XPath将首先找到div
元素,其中class
属性值等于"product eq-height"
并且具有子{{} 1}},其值等于h3
。
"Apple Iphone 5S"
:然后,根据找到的/a[@class='select-device-button']
元素,XPath返回子元素div
,其中a
属性值等于{{ 1}}。
答案 1 :(得分:1)
如果我理解正确,您希望通过某些a
和div
找到h3
元素,如果是,那么您可以这样做非常简单:
//div[h3[text()="Apple Iphone 5S"]]/a[@class="select-device-button"]
您正在寻找具有特定div
元素的h3
元素,并且从那里通过使用它的类属性或您需要/想要的任何其他元素,很容易找到您想要的下一个元素。 / p>
希望这有帮助!
答案 2 :(得分:0)
假设你有像...的结构。
<div>
<h3>Xyz</h3>
<a>Something there</a>
</div>
并且您希望在点击<a>
时点击h3
代码
尝试将h3
的数据属性设为与a
的ID相同,然后当用户点击h3
并在java脚本中获取该数据属性时attr("data")
)然后通过java脚本