2016-10-18 13 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

:IndexOfメソッドと

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 } } 

それとも:リンクがアクティブ属性が含まれているかどうかを確認するには、このような何かを行うことができます。なぜあなたは外部HTMLが必要ですか? – Smile4ever

+0

なぜ私はouterHTMLを使用したのhtmlコードの一部が必要です –

+0

あなたの質問にどの文字列から必要な部分を正確に追加してください。 – Smile4ever

答えて

0

するTry innerHTMLプロパティが起こっている理由をアクティブが属性である場合には、単にのgetAttributeでそれを取得し、教えてください。私はあなたがレンダリングエンジンHtmlUnitDriverを使用するときに何の属性がouterHTMLがないことを疑う

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を使用しています。文字列str = table_element.getAttribute( "innerHTML")。この行の実行後、strはnull –

+0

でデバッグし、table_elementの中にどの属性があるかを確認します。 – Smile4ever

関連する問題