如何使用以下HTML标记中的链接名称识别元素?
我已经使用像css(#SearchMenu > ul:nth-child(1) > li:nth-child(1) > a:nth-child(1))
这样的直接搜索使用XPATH / CSS识别路径。但在我们的环境中,元素的位置会经常变化。有人可以帮我识别使用链接名称(StoreNet)的元素。
<div class="search">
<div class="search-dropdown" onclick="showHideUtilMenu(event, 'SearchMenu');">
<span id="searchoptionValue">Consumer</span>
<span id="dropdownarrow"></span>
<span id="searchurlValue" style="display: none;">http://</span>
<div id="SearchMenu" class="utility-menu combobox">`enter code here`
<ul class="menu-link">
<li class="menu-link">
<a onclick="getSearchOption('StoreNet','http://store.net/test);">StoreNet</a>
</li>
答案 0 :(得分:1)
您的HTML不足以分析结构。
您是否有许多类似的<a>
具有相同的onclick
或文字?
目前,由于缺乏背景,我可以建议以下可能不符合您需求的内容。
CSS选择器:
#SearchMenu a[onclick*='store.net/test']
#SearchMenu a[onclick*='StoreNet']
的XPath:
.//div[@id='SearchMenu']//a[contains(@onclick, 'store.net/test')]
.//div[@id='SearchMenu']//a[contains(@onclick, 'StoreNet')]
.//div[@id='SearchMenu']//a[text()='StoreNet']
答案 1 :(得分:1)
XPath表达式//a
将为您提供<a>
的内容。表达式div[//a='StoreNet']
将返回包含<div>
<a>
的{{1}}元素。
此表达式将返回StoreNet
内<a>
<div>
id
SearchMenu
的{{1}}内容,与其中有多少其他html嵌套级别无关:
//div[@id='SearchMenu']//a