c#在webbrowser

时间:2016-05-30 14:28:47

标签: c# progress-bar webbrowser-control

我是c#的新手(之前在delphi度过了我的时间)而且我很难找到它:

网站的Html代码是:

<div class="progress-bar progress-bar-danger" id="counter" style="width: 10.%; overflow: hidden;"></div>

我想弄清楚这样:

var CheckValue = webBrowser1.Document.GetElementById("counter"); if (counter.style.width > 70%) { //code }

所以基本上我想要做的是: 我想检查网站上进度条的宽度是否填充超过70%,如果是,它将执行代码,但如果不是,它将在几秒钟后再次尝试。

如果您需要更多信息,请告诉我!

由于

1 个答案:

答案 0 :(得分:0)

您可以使用CheckValue.Style,它将返回包含该样式的字符串。然后,您可以使用Regex查找您要查找的内容。

您希望正则表达式匹配width:.%之间的数字。您可以使用它:

width: ([0-9]+(\.[0-9]+)?)\.?%

这将匹配以width:开头并以%结尾的每个字符串,可能在.之前有%,在0到9之间至少有1个字符

您可以使用此代码获取此值:

var checkValue = webBrowser1.Document.GetElementById("counter");

Regex regex = new Regex("width: ([0-9]+(\\.[0-9]+)?)\\.?%");
Match match = regex.Match(checkValue.Style);

// Check if match found
if (match.Groups.Count > 1)
{
    String s = match.Groups[1].ToString();
    int width = (int)Convert.ToDouble(s);
}