如何从样式元素中获取值?

时间:2013-12-05 21:34:53

标签: html css selenium webdriver selenium-webdriver

如何从style元素中获取单个值。

这是我的CSS。我希望能够获得51.06383%的宽度值

span id="ctl00_cphNavigation_svyNavigation_lblProgressMeter" class="progressmeter" style="display:inline-block;width:51.06383%;"

我使用下面的代码检索了样式值。返回整个样式值。我不知道如何分开它,所以我可以得到宽度。

driver.getSingleElement("css=span#ctl00_cphNavigation_svyNavigation_lblProgressMeter").getAttribute("style");`

2 个答案:

答案 0 :(得分:0)

style = driver.getSingleElement("css=span#ctl00_cphNavigation_svyNavigation_lblProgressMeter").getAttribute("style");
value = style.split("width:")[1].split(";")[0];

演示:http://jsfiddle.net/Rmc7B/

但是,如果可以,为什么不使用.style.width

答案 1 :(得分:0)

谢谢大家的帮助。我最终创建了以下方法来获取百分比。

protected void verifyProgressMeter(int expectedpercentage) {
    String progress1 = driver.getSingleElement(AppObjects.ProgressMeter).getAttribute("style");
    String progresswidth = progress1.substring(progress1.indexOf("width:") + 6, progress1.length() - 2);
    Double progress2 = new Double(progresswidth);
    Long actualpercentage = Math.round(progress2);
    Assert.assertEquals(actualpercentage.intValue(), expectedpercentage);
}