谁能帮我推导出下面 HTML 的 xpath。我是 Selenium 的新手。
我需要为每个跨度获取卢比,但问题是这两个元素具有相同的类名。如何创建唯一的 xpath 来查找元素
<div class="pu-price">
<div class="pu-border-top">
<div class="pu-final">
<span class="fk-font-17 fk-bold">Rs. 5,557</span>
</div>
<div class="pu-emi fk-font-12">EMI from Rs. 270 </div>
<div class="pu-price">
<div class="pu-border-top">
<div class="pu-final">
<span class="fk-font-17 fk-bold">Rs. 9,997</span>
</div>
<div class="pu-emi fk-font-12">EMI from Rs. 500 </div>
最佳答案
我的建议是使用更通用的 xpath 来获取包含您的跨度的所有元素,例如: 路径: "//div[@class='pu-final']/" 或者如果你想更具体一点: 路径: //div[@class='pu-final' and contains(.,'Rs')] 这将为您带来页面中包含 Rs 的所有元素,您可以将它们放在某个列表中:
public static List<WebElement> getElements(String selector) {
By locator = By.xpath(selector);
List<WebElement> webElements = driver.findElements(locator);
return webElements;
}
然后你就可以在你的 list 上做任何你想做的事情了。
关于java - 为元素创建 XPATH - Selenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31144787/