2013-11-20 50 views
1

意外的標識符我正在學習XPath和我試圖從HTML USINT的XPath得到一些數據語法錯誤:使用XPath

我發現,谷歌瀏覽器有一個選項爲「複製XPath」和它的作品不錯

但不工作到本例

<div id="site-main"> 
    <header class="main" role="banner">some divs  </header> 
</div> 

我使用谷歌瀏覽器控制檯上

$x("//*[@id="site-main"]/header") 

並返回「SyntaxError:意外的標識符」 我沒有看到任何錯誤...你呢?

+1

你的XPath字符串結束於'''號......檢查出SO的語法突出顯示 –

回答

3
$x("//*[@id="site-main"]/header") 
      ^  ^

的顯着引號導致錯誤 - 事實上,該字符串=後立即終止。

您必須轉義XPath表達式中的引號。逃避的方式取決於您使用的語言。如果是JavaScript,然後將它與\

$x("//*[@id=\"site-main\"]/header") 

也對這個問題看:Escape quotes in JavaScript

+0

該死的兄弟!你好:D,我一定很不記得那個...... –

2

您可以在XPath查詢使用單引號:

$x("//*[@id='site-main']/header") 
+0

工作太:D,你很好 –