2017-02-21 7 views
-1

Я должен найти конкретный текст, и я могу сделать это только с помощью className под тегом span. К сожалению, className распространен для различных других тегов span. Если я попытаюсь найти text, используя className, существует высокая вероятность того, что будет зарегистрировано только первое вхождение span tag ---> className.Selenium Keep До тех пор, пока текст не будет найден

Есть ли способ проверить всю страницу до последней строки для className--->text?

Я не могу использовать метод findElements(). Это будет связано с большим количеством изменений в коде, и поскольку это всего лишь одноразовое дело, я не хочу проходить через все хлопоты.

+0

, пожалуйста, поделитесь соответствующим блоком HTML-кода элементом, который вы хотите найти. мы можем найти элемент из его родителя или дочернего или родного брата также с помощью 'Xpath' или' cssSelectors'. –

+1

Поделитесь своим «HTML» –

+0

Возможный дубликат [xpath: как выбрать только последний текстовый узел?] (Http://stackoverflow.com/questions/10098593/xpath-how-do-we-select-just- о-очень-последний текстовый узел) – Madhan

ответ

1

Я использую следующие методы для поиска элемента с использованием текста. если это не сработает для вас, вы можете создать похожие методы, указав сообщение, которое предположил Мадхан.

public WebElement findElementByText(String text){ 
    return driver.findElement(By.xpath("//*[contains(text(),'"+text+"')]")); 
} 

public WebElement findElementByText(String text, boolean exactMatch){ 
    if (exactMatch){ 
     return driver.findElement(By.xpath("//*[text()='" + text + "']")); 
    }else{ 
     return findElementByText(text); 
    } 
} 
Смежные вопросы