2014-02-10 3 views
0
<a class="LinkDetail" href="/settings/carsettings?xyz=L_11:1:*:2&carid=199&carnumber=4294967295" target="_top" tabindex="23"/> 

В приведенной выше ссылке, мне нужно найти элемент с помощью /settings/carsettings и carid=199Как найти элемент с помощью CSS Selector/XPath?

Использование CSS локатора. Может ли кто-нибудь сообщить мне синтаксис для того же самого? Также используйте синтаксис для XPath.

ответ

4

Покажите нам, что вы пробовали, пожалуйста, чтобы мы могли понять, чего вы не смогли достичь. Если следующий CSS Selector/XPath не работает, отправьте свой стек и еще один HTML-код, чтобы найти лучшие локаторы.

CSS Selector

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

XPath

.//a[contains(@href, 'settings/carsettings') and contains(@href, 'carid=199')] 
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); 

Позвольте мне знать, если это поможет.

Смежные вопросы