2013-08-02 3 views
0

Я пытаюсь найти элемент на веб-сайте, который я пытаюсь автоматизировать, но не могу понять, как получить конкретный элемент. Я предоставил html ниже. Пожалуйста, предоставьте несколько материалов. Благодарю.Найти элемент с помощью Selenium Webdriver

< DIV ID = класс "Troy_combine" = "sign_in_flow sign_in_flow_overlay troy_overlay epc_modal big_dialog modal_display"> < h3 класс = "миграция"> Добро пожаловать. </h3> < h3 class = "normal"> Добро пожаловать в Диснейленд </h3> < p class = "migration">Похоже, у вас есть учетная запись, использующая одни и те же адреса и пароль. Давайте объединим их в одну учетную запись, чтобы упростить доступ к обеим службам. </p>

Примечание: Существует несколько классов «миграции». Как он узнает, какой из них выбрать?

Я пытаюсь извлечь текст, показанный в курсивном. Помощь требуется

Selenium WebDriver с Java

ответ

2

Я хотел бы использовать CSSSelector так:

String itext = driver 
    .findElement(By.cssSelector("div#Troy_combine p.migration")).getText(); 
+0

Существует несколько классов с именем «миграция». Я хочу получить текст тега с тегом «p». Я получаю исключение элемента, не найденное исключение, с указанным выше решением. –

+0

Является ли пространство между «комбинацией» и «р»? Теперь я не получаю никакого исключения, но строка возвращается как пустой –

+0

Его код верен. Что произойдет, если вы запустите это: 'new WebDriverWait (driver, 10) .until (ExpectedConditions.textToBePresentInElement (By.cssSelector (« div # Troy_combine p.migration »):« Похоже, у вас есть учетная запись, использующая тот же адрес и пароль. Давайте объединим их в одну учетную запись, чтобы упростить доступ к обеим службам. »))' –

0

Selecting с помощью классов и идентификаторов всегда самым простым и надежным. Сделайте By.className("migration").

0

findElement(By.cssSelector("div.migration")).getText();

Я думаю, что вы могли бы выбрать его ID, а также.

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