我正在使用Java客户端开发Selenium。我正在使用方法driver.getPageSource()将Html作为字符串。

您能否建议我,我们是否有任何用于将HTML转换为Java Object的开源软件?

基于上述问题,我期望以下功能:


getTextBoxIds()-将列出所有文本框ID作为HashMap() id作为键,并且值是TextBox值。
getSelectBoxIds()
getDivIds()


注意:到目前为止,我正在使用contain()indexOf()lastIndexOf()方法检查预期的数据。

问候,
瓦桑斯·D

最佳答案

不要那样做!硒为您(还有更多)做到了。

进入要访问的页面后,即可获取所需的所有数据:

/** 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

10-06 16:08