在字符串

时间:2017-05-23 13:45:11

标签: c# selenium web webdriver

我正在使用C#中的Selenium API。 我尝试读取脚本并从中获取所需的值。

string attackable_villages = web.FindElement(By.XPath("//*[@id='content_value']/script[1]")).GetAttribute("innerHTML");
richTextBox1.Text = attackable_villages;

我得到的结果:

result.scrollBound = {
    x_min: 0,
    x_max: 999,
    y_min: 0,
    y_max: 999
};

result.tileSize = [53, 38];

result.screenKey = 'bf14559d';
result.topoKey = 4133874391;

还有更多..

但是有这个:

result.thisiswhatiwant= [1value1, 1value2, 1value3, 1value4..], [2value1, 2value2, 2value3, ...], [...]

如何在没有其余数据的情况下获取该数组,并在"],"

之后拆分所有元素

我希望你能帮助我!

1 个答案:

答案 0 :(得分:1)

// Split the script in its individual statements
var splitArray = script.Split(';');
// Get the statement you're interested in
var line = splitArray.Where(x => x.Contains("result.thisiswhatiwant")).First();         
// Remove all characters except numbers and commas, then split by comma       
var values = Regex.Replace(line, "[^0-9,]", string.Empty).Split(',');

使用此输入进行测试:

 string script = "test; result.thisiswhatiwant=[1,2,3]; three;";

给我一​​个长度为3的数组(分别为1/2/3)。 如果语句只出现一次,您也可以使用Single(...)而不是Where(...).First()