2015-04-17 42 views
2

在這裏,我將data_width設置爲「57px」。但價值是百分之(50%)..你可以看到下面的代碼片段。如何獲得風格的價值 - 「寬度」使用紅寶石的百分比?

任何人都可以解釋如何獲得百分比的價值?我試過搜索,但沒有任何幫助。

紅寶石

data_width = find_element(css: 'div > div > div').css_value('width') 

HTML

<div class="someclass" role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100" style="width: 50%;"> 
    <div class="ProgressBar"></div> 
    <span style="visibility:hidden">&nbsp;</span> 
</div> 
+6

得到父寬度('pw'),元件寬度('ew')和百分比等於到'100 * ew/pw' – fcalderan

+0

謝謝。有用。 –

回答

3

您可以嘗試使用這樣的:

data_width = find_element(css: 'div > div > div').attribute("style") 

那結果將是width: 50%。爲了得到公正的號碼,你可以使用正則表達式:

data_width.gsub(/[^\d]/, '') 

,這將只是給你50

+1

是的,它會返回,但如果style屬性中有更多項目,它將會失敗。所以我用下面的代碼來使它工作... element.attribute('style'))。split(/; /))。map do | value | 返回值[/ \ d + /] if value.include? 'width:' –

+0

哦真棒,那是一種切肉刀的方式 – Elena