常见函数
- 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.