我想检查样式元素的值是否大于特定值(即,是> 666px?),但是我无法获得该值.
以下是我要捕获的样式的HTML代码:
<pre><span id="da2c" style="left: 666px; top: 27px;"></pre>
Run Code Online (Sandbox Code Playgroud)
我正在使用此代码尝试打印其值,但它不打印:
System.out.print(driver.findElement(By.id("da1c")).findElement(By.cssSelector("span")).getAttribute("style"));
Run Code Online (Sandbox Code Playgroud)
我想要这样的东西:
if ((driver.findElement(By.id("da1c")).findElement(By.cssSelector("span")).getAttribute("style")).value> 700) {
System.out.println("value exceeding")
}
Run Code Online (Sandbox Code Playgroud)
Ani*_*udh 15
您可以捕获Computed Css值,如下面的firebug屏幕截图所示:

像这样:
WebDriver web = new FirefoxDriver(;
String visibility = web.findElement(By.xpath("//your xpath")).getCssValue("display");
Run Code Online (Sandbox Code Playgroud)
如果.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');";
Run Code Online (Sandbox Code Playgroud)
然后从那里检查它.
| 归档时间: |
|
| 查看次数: |
38211 次 |
| 最近记录: |