2017-08-10 8 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の終わりを見つけるまで、親を1つずつ呼び出す再帰関数を持つことでした。

+0

参照:[Xを行うにはどうすればいいですか?](https://meta.stackoverflow.com/questions/253069/whats-the-using-new-current-close-reason-for-how-do-i- do-x)SOに関する期待は、質問するユーザーが自分の質問に答えるだけでなく、その調査、コードの試行、結果を共有することです。これは、時間をかけて自分自身を助けようとしていることを示しています。明白な回答を繰り返さないようにしてくれています。そして、より具体的で適切な答えを得ることができます。参照:[ask] – JeffC

答えて

1

あなたの色を返すスクリプトを実行できるはずです。

コードは次のようになります。

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

これは、あなたが名前でそれを確認する必要がある場合、あなたはRGBに名をマップするために配列を追加することができ、RGBで背景色を返します。

関連する問題