我想检查样式元素的值是否大于某个特定值(例如,左> 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")
}发布于 2013-11-19 15:13:44
您可以捕获计算出的CSS值,如下面的firebug截图所示:

如下所示:
WebDriver web = new FirefoxDriver(;
String visibility = web.findElement(By.xpath("//your xpath")).getCssValue("display");发布于 2013-08-27 05:00:34
如果在跨度上执行.getAttribute("style"),您将收到一个字符串。
left: 666px; top: 27px;
您可以使用字符串操作来获取特定的样式。
或者,您可以使用JavaScriptExecutor执行一些left魔法,并通过以下方式直接获取javascript值
String script = "var thing = window.document.getElementById('da2c');
window.document.defaultView.getComputedStyle(thing, null).getPropertyValue('left');";然后从那里检查它。
发布于 2015-01-28 19:46:44
driver.findElement(By.locator( yourLocator )).getAttribute( requiredAttribute )它将返回字符串
https://stackoverflow.com/questions/18452790
复制相似问题