2016-07-13 19 views
3

我試圖訪問爲了屬性的HTML標記header > div.column HTML標記這裏是我的代碼:var element = driver.FindElement(By.CssSelector("header > div.column")).GetCssValue("order");訪問使用硒和CssSelector

但我得到的對象引用問題的GetCssValue。看起來像選定的標籤不具有「訂單」屬性。

我在這裏失蹤了什麼? 附截圖與HTML代碼enter image description here

UPDATE 我使用BrowserStack進行測試,當我使用Chrome的瀏覽器,它的工作原理,但相同的代碼不上的時候我選擇IE瀏覽器或iPhone上運行。 是因爲我需要添加IE驅動程序或類似的東西?

回答

1

order CSS property根據瀏覽器不支持。

您可以嘗試differntly接近它 - 使用getComputedStyle()方法從JavaScript的

IWebElement element = driver.FindElement(By.CssSelector("header > div.column")) 
IJavaScriptExecutor js = driver as IJavaScriptExecutor; 
string title = (string)js.ExecuteScript("return window.getComputedStyle(arguments[0]).getPropertyValue('order');", element); 
+0

所以'.GetCssValue( 「序」);'方法不會」在這種情況下工作? –

+0

@Alundrathedreamwalker是的,它可能是瀏覽器特定的。根據我的理解,「訂單」屬性在IE> = 11上受支持(參考https://developer.mozilla.org/en-US/docs/Web/CSS/order)。 – alecxe

+0

@Alundrathedreamwalker與'getComputedStyle()'一起工作嗎? – alecxe