如何创建匹配元素中存在的两个条件的 xpath?
How to create xpath that matches both conditions present in an element?
描述:
我需要创建一个与 div class = 'item_inside'
中存在的条件相匹配的 Xpath
说明:
假设我的网页上有两个 item_inside class。
一个 class 在 aria-label 中有大篮子文本,另一个 class 在 aria-label 标签中有小篮子。
//*[@class = 'item_inside']//*[@class = 'food_list']
如果我在开发人员工具中编写上面的 xpath,它会显示两个结果,我想做的就是以某种方式在 Xpath 中添加 aria-label = 'BigBasket' ,以便它给我一个独特的结果。
<div class="item_inside">
<div class="one_line">
<div class="support_text">
<div class="detail_info">
<div class="headline_title_content headline_title_2" tabindex="0" aria-label="Big Basket">
</div>
</div>
</div>
</div>
<ul _cid="123456" class="food_list">
</ul>
</div>
这是我试过的 xpath:
//*[@class = 'item_inside']//*[@class = 'one_line']//*[@class = 'headline_title_content headline_title_2' and @aria-label = 'Big Basket']//*[@class = 'item_inside' and @class = 'food_list']
我尝试过的事情:
我尝试创建一个包含 and、or 的 Xpath,但我认为 xpath 的格式不正确,所以我没有得到输出。
我想你需要这个作为第一个过滤器:
//*[@class = 'item_inside'][*[@class = 'food_list']]
所以现在你有每个元素都带有@class=item_inside并且谁有一个元素带有class=food_list
接下来您要过滤那个内部 div ,所以我们只需添加另一个谓词
//*[@class = 'item_inside'][*[@class = 'food_list']][*[@class = 'one_line']//*[@class = 'headline_title_content headline_title_2' and @aria-label = 'Big Basket']]
现在您已经选择了符合这些条件的所有 //*[@class = 'item_inside']
描述: 我需要创建一个与 div class = 'item_inside'
中存在的条件相匹配的 Xpath说明: 假设我的网页上有两个 item_inside class。 一个 class 在 aria-label 中有大篮子文本,另一个 class 在 aria-label 标签中有小篮子。
//*[@class = 'item_inside']//*[@class = 'food_list']
如果我在开发人员工具中编写上面的 xpath,它会显示两个结果,我想做的就是以某种方式在 Xpath 中添加 aria-label = 'BigBasket' ,以便它给我一个独特的结果。
<div class="item_inside">
<div class="one_line">
<div class="support_text">
<div class="detail_info">
<div class="headline_title_content headline_title_2" tabindex="0" aria-label="Big Basket">
</div>
</div>
</div>
</div>
<ul _cid="123456" class="food_list">
</ul>
</div>
这是我试过的 xpath:
//*[@class = 'item_inside']//*[@class = 'one_line']//*[@class = 'headline_title_content headline_title_2' and @aria-label = 'Big Basket']//*[@class = 'item_inside' and @class = 'food_list']
我尝试过的事情:
我尝试创建一个包含 and、or 的 Xpath,但我认为 xpath 的格式不正确,所以我没有得到输出。
我想你需要这个作为第一个过滤器:
//*[@class = 'item_inside'][*[@class = 'food_list']]
所以现在你有每个元素都带有@class=item_inside并且谁有一个元素带有class=food_list
接下来您要过滤那个内部 div ,所以我们只需添加另一个谓词
//*[@class = 'item_inside'][*[@class = 'food_list']][*[@class = 'one_line']//*[@class = 'headline_title_content headline_title_2' and @aria-label = 'Big Basket']]
现在您已经选择了符合这些条件的所有 //*[@class = 'item_inside']