java - 为元素创建 XPATH - Selenium

标签 java selenium xpath

谁能帮我推导出下面 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/

相关文章:

java - 尝试调试 hibernate/c3p0/postgres 设置

python - 使用 Python 和 selenium 抓取 URL

javascript - 模拟连接错误

python - 为命名空间中的属性设置新值

sql - 从 SQL XML 字段中提取值

java - 如何在 Java 中定义常量列表?

java - 算法中超过时间限制错误

Java for Android 从 AsyncTask 中调用 getPackageName()

java - 从页面中的 Xpath 获取数据 - java

python - Selenium :WAITING元素可点击不工作