Selenium xpath无法解析的如何处理
一、问题描述
-
Xpath无法解析的原因
- 使用selenium加载时没有加入等待时间,导致页面元素无法加载xpath无法解析
- xpath语句未能准确定位
- 如果xpath无法解析到怎么办
- xpath点击失效(报错:该元素不是可点击元素)(客户端渲染,需要研究分析js代码实现同等效果的操作;或者通过火狐浏览器对js代码点击事件进行研究)
二、解决办法
1
<1> 用time.sleep(3)方法休眠等待
<2> 用显示等待或隐式等待
2
<1> 使用google插件XpathHelper定位
<2> 在Chrome浏览器中按F12打开调试模式,在Elements页面按Ctrl + F进行搜索定位
3
-
情景一:页面不规则
<1> 待页面加载完毕后,通过driver.page_source方法获取页面源码,通过正则匹配进行定位抓取
-
情景二:页面规则
<1> 复制chrome full xpath 绝对定位
<2> 通过部分唯一标签或者元素部分绝对定位(元素唯一的情况下)
<3> 用过js进行元素获取