我想检查样式元素的值是否大于特定值(即,是否> 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")
}
答案 0 :(得分:12)
您可以捕获Computed Css值,如下面的firebug屏幕截图所示:
像这样:
WebDriver web = new FirefoxDriver(;
String visibility = web.findElement(By.xpath("//your xpath")).getCssValue("display");
答案 1 :(得分:7)
如果您在该范围内执行.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');";
然后从那里检查。
答案 2 :(得分:0)
driver.findElement(By.locator( yourLocator )).getAttribute( requiredAttribute )
它将返回String