
$('#id')siblings() 当前元素所有的兄弟节点
$('#id')prev() 当前元素前一个兄弟节点
$('#id')prevaAll() 当前元素之前所有的兄弟节点
$('#id')next() 当前元素之后第一个兄弟节点
$('#id')nextAll() 当前元素之后所有的兄弟节点
这三个方法都可以添加选择器,给出选择条件,就能找到你指定的兄弟节点了。
问题出在你每次得到的都是同一个list 每次取list[0] 当然永远是重复的第一个元素。
问题出在这个//[@id="newsRegion"]/ul/li 取得的所有的li不是一个个别的li。返回的list 虽然有几十个元素,但每一个用后面的xpath匹配都是可以得到相同的结果
span后面加上text()即driverfind_element_by_xpath("//div[@id='content']/div/div/div/div/div/div/div[2]/div[2]/div[%d]/span/text()"%i)click()
大概是这样的吧 可以试试
jquery有个 parents()
比如选了一个div id为test,想整xpath的话 $("#test")parents();这样获取的是一个数组,
var aa = [];
$('#test')parents()each(function(){
aapush(thistagName);
});
获取标签名后 就可以替换成xpath了 不过需要注意的是 这个不止获取到body 最后一个元素应该是到html,也不太确定,反正在firefox上是这样的
你应该是写错了吧,你改成 //div[@class="proLis"]//span/text() 试试。单斜杆表示只取其儿子辈的节点,你的span标签都是N辈了
再说,没有必要自己写,你可以在chrome浏览器装一个ChroPath插件,点击元素,然后就会出来相应的xpath表达式。
以上就是关于xpath如何获取标签内容相同的兄弟节点全部的内容,包括:xpath如何获取标签内容相同的兄弟节点、用Python爬取网页并用xpath解析,得到一个内容相同的集合,为什么、selenium python 通过Xpath定位取出页面元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)