使用 HtmlUnitDriver 获取 HTML 标记的内容时出错



我试图使用htmllunitdriver获得html标签的html内容。我写的代码是:

WebElement table_element = wd.findElement(By.id("genericTableFormtable"));
String str=table_element.getAttribute("outerHTML");
int index=str.indexOf("active");

如果我使用ChromeDriver,那么我得到str中的代码,但如果我使用HtmlUnitDriver,那么我在进一步的代码中得到一个异常,因为str为空。请告诉我为什么会这样

尝试用innerHTML代替outerHTML

WebElement table_element = wd.findElement(By.id("genericTableFormtable"));    
String str=table_element.getAttribute("innerHTML");
int index=str.indexOf("active");

同样,如果active是一个属性,只需使用getAttribute获取它。要检查链接是否包含活动属性,您可以这样做:

List<WebElement> table_links = wd.findElement(By.tagName("a"));
foreach(WebElement table_link in table_links){
    if(table_link.getAttribute("active") != null){
         // this link is active
    }
}

或者只使用indexof:

List<WebElement> table_links = wd.findElement(By.tagName("a"));
foreach(WebElement table_link in table_links){
    if(table_link.getAttribute("innerHTML").indexOf("active") > -1){
         // this link is active
    }
}

相关内容

  • 没有找到相关文章

最新更新