2010-04-03 41 views
0

我想檢查整個網站的<img>圖片的alt文本。我想要得到一份報告,在alt文本或alt中編寫的內容是否來自每個頁面中整個站點上使用的所有圖像。如何爲特定的XHTML標記/屬性生成報告?

是否有可能得到這樣的報告?獲取報告後,我會把alt或如果alt已經添加,但空白,然後將寫描述文本。

否則,在一個大的網站,它將需要大量的時間去檢查每一頁。

網站位於Intranet上,可通過用戶名和密碼訪問。

回答

0

這不是一個直接的答案,但因爲它似乎是你的動機這裏只是知道哪些img元素沒有ALT屬性,我想補充一點,並不是所有img元素需要ALT屬性。

HTML5 spec提到其中img元件應具有ALT屬性:

什麼img元素表示依賴於src屬性和alt屬性。

如果src屬性設置和alt屬性被設置爲空字符串

  • 的圖像或者是裝飾性或補充,所述內容的其餘部分,冗餘在某些其它信息該文件。
  • 如果圖像可用並且用戶代理配置爲顯示該圖像,則該元素表示由src屬性指定的圖像。
  • 否則,該元素不表示任何內容,並且可能從渲染中完全省略。用戶代理可以向用戶提供圖像存在但在渲染中被忽略的通知。

如果src屬性設置和alt屬性被設置爲不爲空

  • 的圖像是該內容的關鍵部分的值; alt屬性給出了圖像的文本等同物或替換物。
  • 如果圖像可用並且用戶代理配置爲顯示該圖像,則該元素表示由src屬性指定的圖像。
  • 否則,元素表示由alt屬性給出的文本。用戶代理可以向用戶提供圖像存在但在渲染中被忽略的通知。

如果src屬性設置和alt屬性不是

  • 的圖像可能是內容的一個重要組成部分,並沒有文字等效可用的圖像。
  • 注意:在符合性文檔中,缺少alt屬性表示圖像是內容的關鍵部分,但生成圖像時文本替換圖像不可用。
  • 如果圖像可用,則該元素表示由src屬性指定的圖像。

如果未設置src屬性,要麼alt屬性設置爲空字符串或者alt屬性沒有被設置在所有

  • 的元素代表什麼。

否則

  • 的元素表示通過alt屬性中的文字。
0

如果你想做到這一點硒它會是這樣的

Dictionary<string,string> details = new Dictionary<string,string>(); 
int imgcount = selenium.GetXpathCount("//img"); 
for (i=0;i<10;i++){ 
    details.add(selenium.GetAttribute("//img[i]@src"),selenium.GetAttribute("//img[i]@alt")); 
} 

foreach (KeyValuePair<string, string> kvp in details) 
{ 
    Console.WriteLine("key " + kvp.Key); 
    Console.WriteLine("Value " + kvp.Value); 
} 

,將打印圖像的src和它的ALT文本。

+0

thnaks for answer。如何使用Firefox中的Selenium在整個站點上運行此腳本? – 2010-04-05 03:16:26

0

使用TestPlan我想出了這個快速腳本:

GotoURL http://stackoverflow.com/questions/2570421/how-to-generate-a-report-for-particular-xhtml-tag-attributes 

foreach %Image% in (response //img) 
    set %src% as combineCurrentURL (selectIn %Image% @src) 
    set %alt% as trim (selectIn %Image% @alt) 

    if numComp 0 = (length %alt%) 
     Notice %src% ALT IS EMPTY 
    else 
     Notice %src% : %alt% 
    end 
end 

輸出看起來像下面(如果需要的話也可以生成CSV報告)

00000001-00 NOTICE http://sstatic.net/so/img/logo.png : Stack Overflow 
00000002-00 NOTICE http://ads.stackoverflow.com/ads/ladywhobig.jpg ALT IS EMPTY 
00000003-00 NOTICE http://sstatic.net/so/img/vote-arrow-up.png : vote up 
00000004-00 NOTICE http://sstatic.net/so/img/vote-arrow-down.png : vote down 

這個工作在兩個化的HtmlUnit和Selenium後端到TestPlan。