我試圖使用XPath找到鏈接基於鏈接的文本(標籤)列表的鏈接。問題是他們也有圖標(目前隱藏),所以簡單地使用text()不符合它們。的XPath選擇通過鏈接中的文本,鏈接還包含我
我想:
//ul[contains(@class, 'nav-tabs')]/li/a[text()='Details']
//ul[contains(@class, 'nav-tabs')]/li/a[normalize-space(text())='Details']
但既不找到詳細信息選項卡。簡單地做//ul[contains(@class, 'nav-tabs')]/li/a
不會讓我所有的鏈接,我可以在其中看到<i>
和Details
文本的話,但我不能得到公正的「詳細信息」鏈接。
我想避免使用含有(),因爲我擔心,我們將有可能這樣,如果一個詞是一個較大的字內匹配兩個標籤,所以我想完全匹配它。
HTML:
<ul class="nav nav-tabs">
<li class="active">
<a href="#s52ae1defa2b1e_1" data-toggle="tab">
<i class="icon-exclamation-sign has-errors hide"></i>
Details
</a>
</li>
<li class="">
<a href="#s52ae1defa2b1e_2" data-toggle="tab">
<i class="icon-exclamation-sign has-errors hide"></i>
Description
</a>
</li>
<li class="">
<a href="#s52ae1defa2b1e_3" data-toggle="tab">
<i class="icon-exclamation-sign has-errors hide"></i>
SEO
</a>
</li>
</ul>
你的第一個試用效果完美的我 –
當我在控制檯中做到這一點,它不工作,並運行在貝哈特測試時要麼不工作,所以我不知道它是如何工作爲你。 – Jessica
我只是複製粘貼HTML文件和XPath表達式[here](http://videlibri.sourceforge.net/cgi-bin/xidelcgi)並顯示「Details」錨點。另外,我會建議你看看這個[問題](http://stackoverflow.com/questions/20247327/find-out-if-class-name-contains-certain-text/20247406#20247406),看看爲什麼你使用的'contains'可能會在將來遇到不必要的類,比如'disabled-nav-tabs',從而給你帶來麻煩 –