“直接选中元素复制xpath返回为空”,这个问题困扰了我很久,在网上搜到的解决方法试了很多都没有得到解决,最终决定根据Elements一个一个对应的去找。(因为很让我觉得头疼的就是我想爬的那个网站的源代码和elements不一样,不仅如此,源代码写的还很不方便看,例如一行整整几十列,感觉是故意的:(,从源代码里看非常费劲)
怎么找?根据复制下来的xpath路径从前往后一点点加,每次加出来的一个标签print它的某个属性来看看是不是预期的标签。
例如复制下来的xpath是
//*[@id="__layout"]/div/div[2]/div/div[3]/div[4]/div[1]/div[1]
从前往后依次尝试//*[@id="__layout"]/div,//*[@id="__layout"]/div/div[2],以此类推。在后面加/@属性 或者 /text() 来检查是不是想要的那个标签。
# 事实证明复制下来的确实有问题,例如*[@id="__layout"]/div/div[2]中的div[2]实际应该是div[3]
# 困扰的时候一度想放弃xpath解析的练习了:(