2016-10-18 2 views
-1

HtmlUnitDriver를 사용하여 HTML 태그의 HTML 콘텐츠를 가져 오려고합니다. 내가 작성한 코드는 다음과 같습니다HtmlUnitDriver를 사용하여 HTML 태그의 콘텐츠를 가져 오는 중 오류가 발생했습니다.

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

내가 ChromeDriver를 사용하는 경우 다음 내가 STR의 코드를 얻을,하지만 난 HtmlUnitDriver를 사용하는 경우 STR가 null로 나는 내 더 코드에서 예외를 얻을. 이 또한 outerHTML에

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

대신

+0

난 당신이 렌더링 엔진 HtmlUnitDriver를 사용하는 경우에는 속성 outerHTML에가 없음을 의심을 . 왜 외부 HTML이 필요한가요? – Smile4ever

+0

내가 html 코드의 일부를 필요로하는 이유는 outerHTML을 사용했기 때문입니다. –

+0

질문에 정확히 어떤 부분에서 필요한 문자열을 추가하십시오. – Smile4ever

답변

0

시도의 innerHTML을 일어나는 이유 활성화가 속성 인 경우, 단순히 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 
    } 
} 
+0

나는 HtmlUnitDriver를 사용하고 있습니다. 문자열 str = table_element.getAttribute ("innerHTML"); –

+0

HtmlUnitDriver를 사용하고 있습니다. String str = table_element.getAttribute ("innerHTML"). 이 줄을 실행 한 후 str은 null이된다 –

+0

디버그하고 table_element 안에 어떤 속성이 있는지 확인한다. – Smile4ever

관련 문제