我試圖從Google翻譯中獲取所有語言。當我打開開發人員工具,然後單擊語言之一,當所有的語言都彈出(當箭頭點擊),它給//*[@id=':7']/div/text()
阿拉伯語,但是當我試圖把它返回null節點:xPath是由瀏覽器給出的錯誤還是HTMLAgilityPack無法使用xPath?
async Task AddLanguages()
{
try
{
// //*[@id=":6"]/div/text()
HtmlDocument document = new HtmlDocument();
document.LoadHtml(html);
for (int i = 6; i <= 9; i++)
{
//*[@id=":6"]/div/text() //*[@id=":6"]/div/div
Debug.WriteLine(i);
var element = document.DocumentNode.SelectSingleNode("//*[@id=':7']/div/text()");
Trace.WriteLine(element == null, "Element is null");
}
}
catch (Exception e)
{
this.ShowMessageAsync("Hata!", "Dilleri yüklerken hata ortaya çıktı.");
}
}
Element is null: True
輸出所有時間(我試圖用循環來循環語言,但它甚至不適用於單一的!)
我不認爲這是合法的,有一個ID以「:」開頭,所以我不明白這將如何工作。你有你想要刮的url/html嗎? – Stuart
@Stuart正如我所說,它的谷歌翻譯,如果你彈出所有語言,並右鍵單擊阿拉伯語,然後右鍵單擊 - >複製 - > xPath,它給出了它,它有一個點。 –