如何在onclick html标记中使用链接名称标识元素?

时间:2014-02-19 03:12:24

标签: xpath css-selectors

如何使用以下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>

2 个答案:

答案 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