python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > pycharm xpath路径出错

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.获取到的源代码被注释掉了

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文