①xpath根据标签内容text来定位
driver.find_element_by_xpath("//div[@class='outside']//a[contains(text(),'最近浏览')]")
如果定位不到,则说明未加载完毕,可以结合WebDriverWait使用,等待元素出现为止。
②xpath 同时具有两个属性值,使用and连接即可
'//div[@class="icon item" and @rel="next"]/@href'
③把html转成xpath可以解析的对象
from lxml import etree
response_detail = requests.get(src__url, headers=getHeaderObject()).content
# 使用xpath
page_source = etree.HTML(response_detail.decode('utf-8'))
④获取标签属性值:@属性名称
response.xpath('//table[@class="gPanel"]//input[@class="gCurrentPage"]/@value').get()
response.xpath('//table[@class="gPanel"]//a[@class="pgNext"]/@href').get()
⑤获取标签插槽内容,即开始标签和结束标签之间的内容:text()
response.xpath('//table[@class="gPanel"]//span[@class="TotalPage"]/text()').get()
⑥有时候拿到数据的时候掺杂了很多脏数据,这时候还需要使用正则表达式进行提取
next_page_num = re.findall('pageNum=([\d]+)', response.xpath(
'//a[@class="pgNext"]/@href').get())[0]