【问题标题】:How to get the value of style - "width" in percentage using ruby?如何使用 ruby​​ 以百分比形式获取样式的值 - “宽度”?
【发布时间】:2015-06-24 00:07:05
【问题描述】:

在这里,我将 data_width 设置为“57px”。但是这个值是百分比(50%)..你可以看到下面的代码sn-p。

谁能解释如何获得百分比值?我尝试搜索,但没有任何帮助。

鲁比

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>

【问题讨论】:

  • 获取父宽度(pw),元素宽度(ew)和百分比等于100 * ew / pw

标签: css ruby selenium selenium-webdriver


【解决方案1】:

你可以试试这样的:

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

结果将是width: 50%。要获得可以使用正则表达式的数字:

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

这只会给你50

【讨论】:

  • 是的,它会返回,但如果 style 属性中有更多的项目,它会失败。所以我使用下面的代码来让它工作... element.attribute('style')).split(/;/)).map do |value|返回值[/\d+/] 如果 value.include? '宽度:'
  • 哦,太棒了,这是一种更聪明的做法
猜你喜欢
  • 2013-09-18
  • 2012-05-24
  • 1970-01-01
  • 2011-03-11
  • 2019-11-11
  • 1970-01-01
  • 2020-03-16
  • 2015-07-28
  • 2017-10-05
相关资源
最近更新 更多