Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium C#:如何从输入元素中提取值_C#_Selenium_Selenium Webdriver - Fatal编程技术网

Selenium C#:如何从输入元素中提取值

Selenium C#:如何从输入元素中提取值,c#,selenium,selenium-webdriver,C#,Selenium,Selenium Webdriver,我想从AGX9单声道定价字段中提取3745的值,以便将其添加到数据表中。然而,input.Text是空的,我在这个页面的HTML中没有看到3745的实际值 以下是此输入元素的HTML: <td class="monaural" ng-class="{'has-error' : vm.pricingForm[i].$invalid && vm.pricingForm[i].$dirty}" ng-init="i = ha + 'Monaural'"> <

我想从AGX9单声道定价字段中提取3745的值,以便将其添加到数据表中。然而,input.Text是空的,我在这个页面的HTML中没有看到3745的实际值

以下是此输入元素的HTML:

<td class="monaural" ng-class="{'has-error' : vm.pricingForm[i].$invalid && vm.pricingForm[i].$dirty}" ng-init="i = ha + 'Monaural'">
    <span class="caption caption-currency">$</span>
    <input class="form-control price-control ng-pristine ng-valid ng-valid-required ng-valid-pattern ng-touched" type="text" required="" ng-pattern="/^[0-9]{3,5}(\.[0-9]{2})?$/" ng-model="vm.data[2][i].value" name="agx9Monaural">
</td>

您需要获取
属性

string value = Driver.FindElement(By.Name("agx9Monaural")).GetAttribute("value");
应该这样做

在你的情况下是这样的

foreach (IWebElement row in rows)
{
    var inputFields = row.FindElements(By.TagName("input"));

    //monoaural add to dataTableRow
    dr[1] = inputFields[0].GetAttribute("value");

    //binaural add to dataTableRow
    dr[2] = inputFields[1].GetAttribute("value");

    actualDataTable.Rows.Add(dr);
}

非常好用,谢谢!我在上面输入了一个错误,双耳值应该保存到dr[2]中。当AngularJS作为应用程序开发的一部分实现时,
Text
属性不起作用,我们需要获取该控件的属性
value
(HTML具有
ng XXXX
属性)
foreach (IWebElement row in rows)
{
    var inputFields = row.FindElements(By.TagName("input"));

    //monoaural add to dataTableRow
    dr[1] = inputFields[0].GetAttribute("value");

    //binaural add to dataTableRow
    dr[2] = inputFields[1].GetAttribute("value");

    actualDataTable.Rows.Add(dr);
}