2012-02-15 12 views
5

का उपयोग कर रहा एक कड़ी पाठ रंग की जांच कैसे करें:सेलेनियम आईडीई: सीएसएस

<a class="title">My link</a>

यह इस सीएसएस कोड के साथ स्टाइल है:

a.title { 
    color: #CC3333; 
} 

मैं कैसे सत्यापित कर सकते हैं कि पाठ " मेरा लिंक "लाल है? मैं css=a.title के साथ तत्व का पता लगा सकता हूं, लेकिन मैं सेलेनियम आईडीई में color == "#CC3333" पर कैसे जोर दे सकता हूं?

+0

या मैं रंग से इस लोकेटर को कैसे ढूंढ सकता हूं (रंग: # सीसी 3333;) – user1211063

उत्तर

4

style.color वास्तविक डीओएम तत्व style विशेषता होने पर रंग वापस कर देगा। आपके मामले में, जब <style> टैग में रंग निश्चित होता है तो यह काम नहीं करेगा। यह आपको getComputedStyle() का उपयोग करने की आवश्यकता है। फिर भी, color आरजीबी प्रारूप में रंग लौटाता है लेकिन आप अपना रंग manually बदल सकते हैं और आरजीबी परिणाम सत्यापित कर सकते हैं।

इस तरह

:

assertEval(
    "window.document.defaultView.getComputedStyle(window.document.getElementsByClassName('title')[0]).getPropertyValue('color')", 
    "rgb(204, 51, 51)" 
) 

N.B. window के बजाय selenium.browserbot.getCurrentWindow() का उपयोग करने की भी अनुशंसा की जाती है। मैंने स्निपेट को छोटा बनाने के लिए खिड़की छोड़ी।

+0

मैं "assertEval" को कमांड और "(" window.document.getElementsByClassName ('पोस्ट-टैग') [0] .style.color इनपुट करता हूं "," # CC3333 ")" लक्षित करने के लिए, लेकिन यह काम नहीं करता है। "[त्रुटि] लोकेटर नहीं मिला: window.document.getElementsByClassName ('पोस्ट-टैग') [0] .style.color", "# CC3333" – user1211063

+0

क्षमा करें मैं उदाहरण कक्षा को आपके लिए बदलना भूल गया हूं। अद्यतन टिप्पणी देखें। – p0deje

+0

यह भी काम नहीं करता है (सेलेनियम लोकेटर नहीं ढूंढ सकता – user1211063

संबंधित मुद्दे