请教版上大大
有一树状结构如下:
<div id='wd-Inbox-mainpage'>
<div>
<div>
<ul data-automation-id='inbox_item_list'>
要用XPath来定位到该ul元素,目前有以下几种写法都可行
1. .//ul[@data-automation-id='inbox_item_list']
. 2. .//*[@data-automation-id='inbox_item_list']
3. .//*[@id='wd-Inbox-mainpage']/div[1]/div[1]/ul
4. .//*[@id='wd-Inbox-mainpage']/div[1]/div[1]/ul[@data-automation-id=
'inbox_item_list']
请问哪种方法能最快找到该元素?
另外使用.//或//对搜寻速度会有影响吗,哪个较快找到?
在chrome的F12 直接按右键复制xpath的最快你可以写个计时器 算算捞一万次两种写法的差别
作者:
ian90911 (xopowo)
2018-05-08 12:04:00原来chrome f12可以直接抓xpath 学到一招了
作者:
alog (A肉哥)
2018-05-08 12:24:00其实 element 没有量其实还好 最终还是要看 library 的实作/搜寻方式跟特性要找就找 ul 跟 data-automation-id 那个就可以了除非你找的 element 有特别的规则 例如抓要在特定的阶层底下这个东西 其他的忽略否则应该要将xpath简化 但回到一开始讲的元素没破千破万应该是还好 那个算多少次都一样
Chrome抓到的XPath是//*[@id='wd-Inbox-mainpage']/div[1]/div[1]/ul,所以用这个比较好吗
作者:
alog (A肉哥)
2018-05-08 13:00:00Google 那个是方便抓 不会有特别优化只有element 带有id 才会特别优化 因为 id 搜寻底层会有比较快的优化处理
那id跟data-automation-id哪个比较快?后者是怎么产生的?
作者:
alog (A肉哥)
2018-05-08 13:18:00id 但是你要找的资料是 带有data-automation-id 的ul所以东西简单处理就好
作者:
alog (A肉哥)
2018-05-08 13:22:00嗯 因为你找的类型似乎没有这么强调阶层之间的关系
页面是有这么多DOM需要考量到效能啊@@其实这个想一下也知道,第一个比对,id通常只有一个所以可以快速且正确定位效能一定是最快的