pycharm xpath路径出错的问题及解决
作者:花香悦读
这篇文章主要介绍了pycharm xpath路径出错的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
pycharm xpath路径出错
result=html.xpath("//*[@id="ptab-0"]/div[2]")
SyntaxError: invalid syntax
#如果在外面使用双引号,里面需用单引号,反之亦然,也就是
result=html.xpath("//*[@id=‘ptab-0']/div[2]")
如若外部是双引号,里面也想用双引号,需用反斜杠转义
xpath定位路径每次不一致
xpath定位
python+selenium定位xpath会变动的元素–使用last()函数定位最后一个节点数
web自动化学习–xpath之last()函数的使用
问题描述
在实现功能自动化时,定位某一个元素,直接复制其xpath,实际上脚本跑起来后发现一直没定位到该元素;
xpath为:
/html/body/div[6]/div[1]/div[1]/ul/li
问题原因
比如由于不同的操作,xpath可能为:
/html/body/div[6]/div[1]/div[1]/ul/li /html/body/div[5]/div[1]/div[1]/ul/li /html/body/div[4]/div[1]/div[1]/ul/li
解决方案
通过第二步会发现,xpath里面某一个div的位置是变动的!
不过可以发现一个规律,虽然这个div是变动的,但它始终位于最后一个节点;
于是巧妙的引入last()函数,
将xpath的写法变为:
/html/body/div[last()]/div[1]/div[1]/ul/li
如此调整之后,不管操作如何变幻,始终能够正确定位
关于xpath正确仍然返回空列表的原因
1.元素中有tbody,xpath无法解析
2.网页有js渲染,requests获取的源代码是渲染前的代码,xpath解析不到这个内容所以返回空
3.获取到的源代码被注释掉了
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。