2017-08-10 14 views
-1

我有一個測試我想做,但我真的不確定是否可以實現或不使用代碼隱藏。只是供參考,我是一個初學者使用它。這是我想要的東西做:檢查代碼中的特定背景顏色

  • 選擇通過文字的元素(例如:「我愛藍狗」)
  • 得到這個元素的背景色
  • 測試閹這是我想要的顏色(讓我們說這是純紅#FF0000)

我的HTML結構看起來有點像這樣:

<body> 
    <div class="stuff"> 
     <div class="red-background"> 
      <div class="other-stuff"> 
       <p>I'm a lobster and I love blue dogs !</p> 
      </div> 
     </div> 
    </div> 
</body> 

當然,唯一指定背景的地方是在我的「紅色背景」類中,所以我真正針對的元素是<p>,它並沒有真正的紅色背景。

有什麼辦法可以實現「輕鬆」嗎?

我唯一想過的就是使用selenium webdriver的getCSSValue(),並有遞歸函數逐一調用父母,直到獲取顏色或找到我的html結尾。

+0

請參閱:[我如何做X?](https://meta.stackoverflow.com/questions/253069/whats-the-appropriate-new-current-close-reason-for-how-doi-i- do-x)對SO的期望是用戶提出問題不僅僅是研究來回答他們自己的問題,而且還分享研究,代碼嘗試和結果。這表明你已經花時間去嘗試幫助自己,它使我們避免重申明顯的答案,最重要的是它可以幫助你得到更具體和相關的答案!另見:[問] – JeffC

回答

1

你應該能夠執行一個腳本來返回你的顏色。

的代碼應該是這樣的:

$color = $I->executeJS("return jQuery('my_css_selector').css('background-color');"); 

這將返回背景色RGB,如果你需要按名稱來檢查它,那麼你可以添加一個數組名稱映射爲RGB。