Xpath是什么?

vivien 1
Xpath是一门在XML文档中查找信息的语言,Xpath可用来在XML文档中对元素和属性进行遍历,
主流的浏览器都支持XPATH,因为HTML页面在DOM中表示为XHTML文档。
SeleniumWebDriver支持使用Xpath表达式来定位元素。
方法名
find_element_by_xpath()
.提供按任意属性定位
    bs.find_element_by_xpath('//a[@href="http://news.baidu.com"]')
    bs.find_element_by_xpath('//div[@class="title-text c-font-medium c-color-t"]')   #可以带空格,用这种方式 也要确认唯一性
    //标签名[@属性名='数值']
    //标签名[@属性名='数值' and/or @属性名='数值']     可以设定多个属性名,用and或者or连接
.使用部分属性值定位
    属性值如果太长或网页中的元素属性动态变化,可以使用此方法,这几个函数是xpath带的,所以不能再别的方法里使用
    元素属性值开头包含内容:starts-with()
    元素属性值结尾包含内容:substring()
    元素属性值包含内容:contains()
    bs.find_element_by_xpath('//a[starts-with(@class,"title")]')  定位class属性中title开头的
    #这条假设页面也一个a标签 有如下属性href=http://news.baidu.com   忽略唯一性
    bs.find_element_by_xpath('//a[substring(@href,13,5)="baidu"]')   这条的意思是从13位开始(包括13位)截取5位,等于baidu的
    bs.find_element_by_xpath('//a[substring(@href,13)="baidu.com"]')     这条的意思是从13位开始(包括13位)截取到末尾,等于baidu.com的
    bs.find_element_by_xpath('//a[contains(@href,'baidu.com')]')     这条是查找包含'baidu.com'的意思
.提供按位置路径定位

Comment 1

发表回复