2012-12-12 35 views
1

我有一個XPath表達式,看起來像這樣:黃瓜/水豚:是否有可能在同一命令中混合xpath和css?

find(:xpath, "//div[@id='drawer-1' and @class='drawer']/h2/a[@class='drawer-toggle']") 

我想知道,是否有可能以某種方式與CSS混合此閱讀這樣的事情?

find("div#drawer-1.drawer/h2/a.drawer-toggle") 

或者,如果這是不可能的,是否有另一種方式來使用css導航DOM?

乾杯!

回答

2

您不能將xpath與CSS混合使用。但是,在您的示例中,xpath可以轉換爲css。

你應該能夠做到:

find("div#drawer-1.drawer > h2 > a.drawer-toggle") 

注意 「/」 更改爲 「>」。 Xpath使用「/」作爲子選擇器,其中as css使用「>」。

一對夫婦有用的鏈接:

+0

尼斯一個賈斯汀,這正是我試圖理解。非常感激! – mickael

+0

,你知道我該怎麼做類似於Xpath(// div [@ id ='first'] // a [@ id ='link'])。 就像在表達中間的雙斜槓? – mickael

+0

對於雙斜槓,你需要一個[後代選擇器](http://www.w3.org/TR/CSS2/selector.html#descendant-selectors),這是一個空格。所以你的例子可以寫成「div#first##」,注意兩個元素之間的空間是後代選擇器。 –