2016-01-04 48 views
0

朗值我有HTML標籤,如:如何提取XML:使用Selenium

html xmlns = " http://www.w3.org/1999/xhtml " xml:lang=' en-US ' lang='en-US ' 

利用硒我得到lang屬性的值,但是當檢索XML值:郎越來越空。

htmlTag.getAttribute("lang"); //en-US 
htmlTag.getAttribute("xml:lang"); //null 

有沒有人知道如何獲得xml:lang的價值?

回答

0

如果此屬性出現並且返回null,它應該工作,如果它不存在。正如名字所示,這個屬性給出了XML文檔的指令,你不會在大多數網站中找到它(例如,stackoverflow,google,facebook)。 通常你應該找回你的其餘屬性做同樣的方式,如:

String xmlLang = driver.findElement(By.tagName("html")).getAttribute("xml:lang"); 

您可以檢查一個屬性下面的方法存在:

private static boolean attributeExists(WebElement elem, String attr) { 
    return elem.getAttribute(attr) != null; 
} 

注意,對於HTML頁面,Selenium不返回null缺失的lang屬性,但返回空的String。例如,在我寫這篇文章時,StackOverflow.com在其提供的html源代碼中不包括langxml:lang

但是,硒將返回nullxml:lang和空Stringlang;因此,作爲假陽性情況,上述方法attributeExists將針對不存在的lang屬性返回true

相關問題