10

スタイル要素の値が特定の値よりも大きいかどうか (つまり、左が 666px より大きいかどうか) を確認したいのですが、値を把握できません。

キャプチャしたいスタイルの HTML コードは次のとおりです。

<pre><span id="da2c" style="left: 666px; top: 27px;"></pre>

このコードを使用してその値を印刷しようとしていますが、印刷されません:

System.out.print(driver.findElement(By.id("da1c")).findElement(By.cssSelector("span")).getAttribute("style"));

私はこのようなものが欲しい:

if ((driver.findElement(By.id("da1c")).findElement(By.cssSelector("span")).getAttribute("style")).value> 700) {
  System.out.println("value exceeding")
}
4

3 に答える 3

21

以下の firebug スクリーンショットに示すように、計算された Css 値を取得できます。

ここに画像の説明を入力

このような:

WebDriver web = new FirefoxDriver(;
String visibility = web.findElement(By.xpath("//your xpath")).getCssValue("display");
于 2013-11-19T07:13:43.753 に答える
9

.getAttribute("style")そのスパンで実行すると、文字列が返されます。

left: 666px; top: 27px;
文字列操作を使用して、特定のスタイルを取得できます。

または、JavaScriptExecutor を使用して JavaScript マジックを実行し、left値を直接フェッチすることもできます。

String script = "var thing = window.document.getElementById('da2c'); 
                             window.document.defaultView.getComputedStyle(thing, null).getPropertyValue('left');";

そこからチェックしてみてください。

于 2013-08-26T21:00:34.053 に答える
0
driver.findElement(By.locator( yourLocator )).getAttribute( requiredAttribute )

文字列を返します

于 2015-01-28T11:46:44.427 に答える