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

您可以捕获 Computed 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 回答