对于chrome,我安装ChroPath以在页面上查找元素。
我想在Instagram页面上找到类似元素的XPath,但似乎不起作用:
//span[contains(@class,'glyphsSpriteHeart__outline__24__grey_9 u-__7')]
我也尝试过:
/html[1]/body[1]/div[3]/div[1]/div[2]/div[1]/article[1]/div[2]/section[1]/span[1]/button[1]/span[1]
当硒点击时:
elenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"div._2dDPU.vCf6V div.zZYga div.PdwC2._6oveC article.M9sTE.L_LMM.JyscU div.eo2As section.ltpMr.Slqrh span.fr66n button.coreSpriteHeartOpen.oF4XW.dCJp8 > span.glyphsSpriteHeart__outline__24__grey_9.u-__7"}
我怎样才能找到XPath?任何好的延伸或什么?
这可能会有所帮助:https://selectorgadget.com/
这也是为了理解你在操纵什么:https://www.w3schools.com/xml/xpath_syntax.asp
至于你使用索引号(例如:/ html [1] / body [1])在树上下去的例子,网站的细微变化会使你的脚本失败。找到一种方法来构建更健壮的东西!如果对象的外观事先已知,也可以查看CSS选择器。
要在Instagram上获得所有类似按钮,请使用下面的css选择器:
span[aria-label="Like"]
你可以在这里获得一些有用的细节:https://www.w3schools.com/cssref/css_selectors.asp