2017-02-22 40 views
0

我有五列下面的表。五列中的第五列有圖像圖標,隨後隨後端數據變化。圖像沒有id或靜態類。如何選擇img標籤標題或使用C與硒使用td#

enter image description here

CSS如下:

enter image description here

下面的代碼,我能得到列#4文本。

var temp = driverIE.FindElement 
(By.XPath("//td[@class ='af_column_cell-text OraTableBorder1111'][4]")) 
        .GetAttribute("innerText"); 

我試圖讓圖像標記alttitle與下面的代碼,但它返回null。

var temp = driverIE.FindElement 
(By.XPath("//td[@class ='af_column_cell-text OraTableBorder1111'][5]/img")) 
        .GetAttribute("alt"); 

我試圖讓titlealt值給一個臨時變量。此外,我必須根據價值將控制權轉移到不同的方法。

+1

當你測試Chrome開發工具中的XPath定位器它選擇的圖像元素? –

+0

@AntonAngelov不!我只能找到// td [@class ='af_column_cell-text OraTableBorder1111'] [5]'。我無法在'td'中找到'img' –

+1

你好!請在問題中包含html而不僅僅是一個圖像。從指南:[「也包括您的問題本身的代碼。不是每個人都可以訪問外部網站,並且鏈接可能隨時間而中斷。」](http://stackoverflow.com/help/how-to-ask) – mrfreester

回答

-2

對於可能面臨此問題的人,請添加解決方案。

前:

var temp = driverIE.FindElement 
(By.XPath("//td[@class ='af_column_cell-text OraTableBorder1111'][5]/img")) 
        .GetAttribute("alt"); 

後:

var temp = driverIE.FindElement 
(By.XPath("//td[@class ='af_column_cell-text OraTableBorder1111'][5]//img")) 
        .GetAttribute("alt"); 
+1

考慮提供一塊'HTML'這似乎不是一個解決方案... – Andersson

1

再次使用Chrome開發者工具。使用箭頭查找元素,使用右鍵單擊上下文菜單轉到複製XPath。

+0

謝謝@AntonAngelov找到了解決方案。增加了額外的'/',我得到了我想要的。 –