2013-06-11 5 views
0

Я работаю над Selenium с java-клиентом. Я получаю Html как строку, используя метод driver.getPageSource().HTML Parsing library in java

Можете ли вы предложить мне, есть ли у нас какой-либо открытый исходный код, который используется для преобразования объекта Html в Java?

Основываясь на этом выше вопрос, я ожидаю функциональности, как показано ниже:

  • getTextBoxIds() - Это будет список из всех текстового поля идентификаторов как HashMap() идентификаторами как ключ и значение является TextBox.
  • getSelectBoxIds()
  • getDivIds()

Примечание: В настоящее время я проверяю ожидаемые данные с помощью contain(), indexOf(), lastIndexOf() методы.

С уважением, Взант D

+5

[JSoup] (http://jsoup.org/)? – BackSlash

+0

В качестве пояснения: в основном вы ищете библиотеку для преобразования HTML-строки в типизированные java-объекты, представляющие элементы HTML. – eis

+0

@BackSlash звучит как ответ на меня :) – eis

ответ

3

Не делай этого! Селен делает это за вас (и многое другое).

После того, как вы на странице вы хотели получить, вы можете получить все необходимые данные:

/** Maps IDs of all textboxes to their value attribute. */ 
public Map<String,String> getTextBoxIds() { 
    Map<String,String> textboxIds = new HashMap<>(); 

    // find all textboxes 
    List<WebElement> textboxes = driver.findElements(By.cssSelector("input[type='text']")); 
    // map id of each textbox to its value 
    for (WebElement textbox : textboxes) { 
     textboxIds.put(textbox.getAttribute("id"), textbox.getAttribute("value")); 
    } 

    return textboxIds; 
} 

и так далее, и так далее. Посмотрите на Selenium's documentation, чтобы узнать больше.

Также, JavaDocs.

+0

Спасибо Slanec, Это то, что я ожидаю. Я тоже тестировал, код работает отлично, что дается вами. –