特定の背景色の文字数を数えたい。このソリューションを使用してすべてのHTMLノードをウォークスルーすることを理解するには:HTML要素の内部テキスト文字を数える
HTMLページ:
<span style="background-color: #ffff00;">
<span id="child">I inherit the background color but Selenium gives me back transparent</span>
</span>
セレンの例:
FirefoxDriver firefoxDriver = new FirefoxDriver();
// firefoxDriver.get(...);
WebElement element = firefoxDriver.findElement(By.id("child"));
final String cssValue = element.getCssValue("background-color");
System.out.println("TextColor of the Child Element: " + cssValue);
問題は、System.outがbackground-colorの#ffff00ではなくcss値として「transparent」を出力することです。
この場合、親の値を探すためのコードが必要になります。親も値として「透明」を持っている場合、それはそのように続くはずです。
私はJava7を使用していますが、SeleniumごとにJavaScriptコードを実行できます。