Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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
C# OpenQA.Selenium.elementnotintercable-Can';t到达元件_C#_Selenium Webdriver - Fatal编程技术网

C# OpenQA.Selenium.elementnotintercable-Can';t到达元件

C# OpenQA.Selenium.elementnotintercable-Can';t到达元件,c#,selenium-webdriver,C#,Selenium Webdriver,我不知道为什么我的代码没有看到secound输入。将文本添加到第一次输入时,成功接收OpenQA.Selenium.elementnotintercable:Element input.k-formatted-value.ng-pristine.ng-untouched.ng-valid.k-键盘无法访问输入错误 By inputOneSrc = By.CssSelector("input.invalid"); By inputTwoSrc = By.CssSelector("input.k-f

我不知道为什么我的代码没有看到secound输入。将文本添加到第一次输入时,成功接收
OpenQA.Selenium.elementnotintercable:Element input.k-formatted-value.ng-pristine.ng-untouched.ng-valid.k-键盘无法访问输入
错误

By inputOneSrc = By.CssSelector("input.invalid");
By inputTwoSrc = By.CssSelector("input.k-formatted-value.ng-pristine.ng-untouched.ng-valid.k-input");

IWebElement inputFirst = driver.findElement(inputOneSrc);
IWebElement inputSecound = driver.findElement(inputTwoSrc);

inputFirst.SendKeys("abc");
inputSecound.SendKeys("cba");
在将文本发送到inputFirst后,我尝试使用Clear(),但仍然无法将文本添加到secound input。我认为这段文字被隐藏了,因为我可以通过以下方式看到:

inputFirst.GetAttribute("value");
inputSecound.GetAttribute("value");
但不能只使用Text()。您知道如何解析它以查看输入中的文本吗

<input type="text" class="k-formatted-value ng-pristine ng-untouched ng-valid k-input" title="" tabindex="0" role="spinbutton" aria-valuemin="-999999999999999" aria-valuemax="999999999999999" aria-title="" aria-valuenow="" aria-disabled="false" aria-readonly="false" style="display: inline-block;">
<input next-focus="" kendo-numeric-text-box="c.numeric" k-options="numericOptions" ng-model="c.Value" style="display: none;" ng-class="{'flow-required': !c.AllowEmpty}" required="" class="ng-pristine k-input ng-invalid ng-invalid-required flow-required invalid ng-touched" data-role="numerictextbox" role="spinbutton" type="text" aria-valuemin="-999999999999999" aria-valuemax="999999999999999" aria-valuenow="" aria-disabled="false" aria-readonly="false">

<input type="text" class="k-formatted-value ng-pristine ng-untouched ng-valid k-input" title="" tabindex="0" role="spinbutton" aria-valuemin="-999999999999999" aria-valuemax="999999999999999" aria-title="" aria-valuenow="" aria-disabled="false" aria-readonly="false" style="display: inline-block;">
<input next-focus="" kendo-numeric-text-box="c.numeric" k-options="numericOptions" ng-model="c.Value" style="display: none;" ng-class="{'flow-required': !c.AllowEmpty}" required="" class="ng-pristine k-input ng-invalid ng-invalid-required flow-required invalid ng-touched" data-role="numerictextbox" role="spinbutton" type="text" aria-valuemin="-999999999999999" aria-valuemax="999999999999999" aria-valuenow="" aria-disabled="false" aria-readonly="false"><span class="k-select">


请解释一下html代码好吗?有4个输入标记,但上面两个与其他标记相等。另外,没有类与第一个inputFirst比较
invalid
类您为inputFirst查找的元素的html代码是什么?根据您现在在问题中插入的html代码,您的
By inputWOSRC
将找到第一个和第三个输入元素,这可能会让您头疼。现在我明白了。它们是一样的。我应该使用xpath吗?要在更改第一个元素后捕获secound元素?是的,可以使用
[n]
xpath帮助程序,其中n是要获取的结果列表的元素号。此外,您可以从CssSelector对第n个子项(n)执行相同的操作,但这还取决于html的呈现方式。