一句话概括
就看你的xpath定位路径写对了没有
以下是我的脑残操作
代码
from lxml import etree
import requests
headers = {
'cookie':'JSESSIONID=3FDECBD0B73FB457A0C1A0F; _jfinal_captcha=6c5c72400f8db9f3abf2b20a; username=xxxxx; password=123456'
}
resp = requests.get('http://192.168.x.xxx:8080/xxxxx/sell',headers=headers)
html = etree.HTML(resp.text)
result = html.xpath("//ul[@class='nav navbar-nav navbar-right']/li/a/text()")
# 就是这句的问题
print(result)
运行结果
lxml.etree.XPathEvalError: Invalid predicate
在网上看了看别人帖子的回答,反反复复检查了好几遍,才发现问题
错误的:
result = html.xpath("//ul[@class-'nav navbar-nav navbar-right']/li/a/text()")
正确的:
result = html.xpath("//ul[@class='nav navbar-nav navbar-right']/li/a/text()")
就是xpath定位里面打错了一个符号
改正后的运行结果
['admin\xa0\xa0 管理员', '注销', '微信']
Process finished with exit code 0
新手果然有大大小小的各种坑,都是自己挖的