常见函数
start-with()
:以某值开头的text()
:文本值last()
:最后一个concat()
:拼接多个内容
下面详细介绍:
start-with
举例:
html:
<li class="b_ad">
xxx
</li>
<li class="b_ad b_adBottom">
yyy
</li>
<li class="b_algo">
aaa
</li>
<li class="b_algo">
bbb
</li>
希望同时找到class是
- 普通元素的:
b_algo
- 广告Ad元素的:以
b_ad
开始的
代码:
allLiXpath = "//li[@class='b_algo' or starts-with(@class, 'b_ad')]"
resultLiList = resultElem.find_elements_by_xpath(allLiXpath)
text()
- 对于HTML代码:
定位英文结果即可使用:<a target="_self" href="/s?rsv_idx=1&wd=111&usm=3&ie=utf-8&sl_lang=en&rsv_srlang=en&rsv_rq=en&rqlang=cn">英文结果</a>
//a[text()="英文结果"]
另外一个例子:
clickHereBtnElement = driver.find_element_by_xpath('//a[text()="click here"]')
中的text()="click"
last()
//input[@name="identity"][last()]
concat()
举例:
- docbook的xml的处理 -》XSLT中使用xpath
<xsl:key name="book" match="books/book" use="concat(@title, '|', @author)"/>
- 其他例子
concat('un', 'grateful')
->ungrateful
concat('Thy ', (), 'old ', "groans", "", ' ring', 'yet', ' in', ' my', ' ancient',' ears.')
->Thy old groans ring yet in my ancient ears.