之前一直都是 class name ID 来定位元素截图,但是这次定位的元素里面有五个属性 只要全中的那个 请问 用 xpath 或者csS selector 怎么用
import requests
from lxml import etree
url = 'http://xxxx'
headers = {'User-Agent':'自己填写下'}
#获取网页代码
htmlContent=requests.get(url=url,headers=headers).content.decode('utf-8')
#通过lxml获取对应的数据
html = etree.HTML(htmlContent)
text = html.xpath('//pre[@class="fr-label"]/text()')
if text:
print(text[0])
XPath
XPath是一种基于XML路径表达式的语言,可以用于在HTML或XML文档中查找元素。XPath使用路径表达式来选择节点或节点集合,常用于定位特定的元素、属性或文本。以下是使用XPath定位元素的示例:
通过元素标签名定位元素://tagName
通过元素属性值定位元素://[@attributeName='attributeValue']
通过元素文本内容定位元素://[contains(text(),'textValue')]
CSS Selector
CSS Selector是一种基于CSS选择器语法的定位方式,可以用于在HTML文档中查找元素。CSS Selector通常比XPath简洁、易读,但有时可能不如XPath灵活。以下是使用CSS Selector定位元素的示例:
通过元素标签名定位元素:tagName
通过元素属性值定位元素:[attributeName='attributeValue']
通过元素类名定位元素:.className
通过元素ID定位元素:#elementID
无论是使用XPath还是CSS Selector,都需要根据HTML文档的具体结构和元素属性来确定合适的定位方式。另外,在Web自动化测试中,使用唯一的元素定位方式是非常重要的,以避免由于元素定位不准确而引发的错误。