如何从下面的Html代码中编写正确的XPath?

时间:2015-02-17 03:01:49

标签: xpath

我有以下HTML代码:

<a onmousedown="return rwt(this,'','','','1','AFQjCNGCu8Es2fdCh_-QSfscnnAaMVAngg','','0CB0QFjAA','','',event)"
href="http://www.google.ca/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=1&amp;cad=rja&amp;uact=8&amp;ved=0CB0QFjAA&amp;url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FBrazil&amp;ei=XaviVIqPA8KqNq3-gpgO&amp;usg=AFQjCNGCu8Es2fdCh_-QSfscnnAaMVAngg&amp;bvm=bv.85970519,d.eXY">
Brazil - Wikipedia, the free encyclopedia</a>

以下是使用Firefox Firebug的HTML代码中的Xpath:

/html/body/div[1]/div[4]/div[3]/div[6]/div[2]/div[3]/div/div[2]/div[2]/div/div[1]/ol/li[1]/div/h3/a

如何编写Xpath代码?

1 个答案:

答案 0 :(得分:1)

对于&#34;搜索友好&#34; XPath,您必须仅使用不在页面之间更改的实体,并且最好不要过分依赖页面的内部细节,这些细节可能会在没有通知的情况下发生变化。这些是:

  • 搜索结果的标题
  • 事实上它是一个超链接

    //a[text()='Brazil - Wikipedia, the free encyclopedia']
    

这适用于我使用Firefox 28检索的页面,但不适用于Python requests - 在后一种情况下,单词&#34; Brazil&#34;在超链接文本中进行了粗体化,而这必须应用:

   //a[text()=' - Wikipedia, the free encyclopedia']/*[text()='Brazil']/..