如何通过CSS Selector / XPath定位Element?

时间:2014-02-10 07:38:09

标签: selenium xpath selenium-webdriver css-selectors

<a class="LinkDetail" href="/settings/carsettings?xyz=L_11:1:*:2&carid=199&carnumber=4294967295" target="_top" tabindex="23"/>

在上面的链接中,我需要使用/settings/carsettingscarid=199

找到元素

使用CSS定位器。任何人都可以让我知道相同的语法吗?也分享XPath的语法。

2 个答案:

答案 0 :(得分:4)

告诉我们您的尝试,我们可以解决您未能实现的目标。如果以下CSS Selector / XPath不起作用,请发布堆栈跟踪和更多HTML代码以找到最佳定位器。

CSS选择器

a[href*='settings/carsettings'][href*='carid=199']

的XPath

.//a[contains(@href, 'settings/carsettings') and contains(@href, 'carid=199')]

答案 1 :(得分:0)

您可以使用以下代码实现所需: -

//get all <a> tags in the webpage to a list
List<WebElements> aTags = driver.findElements(By.tagName("a"));


int index = 0; 
//iterate through list of <a> tags
for (WebElement aTag: aTags) {
    //get the href attribute of each <a> tag
    String href = aTag.getAttribute("href");

    //see if the href contains /settings/carsettings and carid=199
    if (href.contains("/settings/carsettings")&&href.contains("carid=199")) {
        //if it contains break out of for loop. This esssentially gives the index
        break;
    }
    index++;
}

//get the required <a> tag using the index
WebElement required = aTags.get(index);

如果这有助于您,请告诉我。