无法识别硒中的元素C#

时间:2015-08-26 12:04:42

标签: c# selenium-webdriver

我正在自动化其中一个商业应用程序,当我尝试使用CSS,Xpath,ID识别元素时,该元素被识别并在Firebug中仅显示为一个匹配节点,但当我将该元素用于测试用例时automation.I看到以下错误

WebDriver.dll中出现“OpenQA.Selenium.NoSuchElementException”类型的异常,但未在用户代码中处理

请找到以下应用程序的HTML代码

<div id="QueryOption1" class="SelectedDiv" xmlns:local="#local-functions" xmlns:msxsl="urn:schemas-microsoft-com:xslt" name="QueryOptions">
<span>
<div>
<div class="leftSide">Subscriber ID:       </div>
<input id="Subscriber_ID" class="floatLeft" type="text" name="InsuranceNum" size="15"/>
</div>

以下是我尝试的选项

By.id( “Subscriber_First_Name”)

By.CssSelector(“#QueryOption1&gt; div&gt; #Subscriber_Last_Name”)

By.Xpath( “//输入[@ ID = 'Subscriber_First_Name']”)

By.CssSelector( “输入[ID = Subscriber_First_Name] [式=文本]”)

他们都没有把我的价值传递给文本框。请帮助

2 个答案:

答案 0 :(得分:0)

为什么你在上面的HTML&#34; id&#34;中使用id作为: - Subscriber_First_Name是: -

By.id("QueryOption1")   // for first div
By.id("Subscriber_ID")   //for input tag

By.xpath("//input[@id='Subscriber_ID']")

或者您也可以使用名称定位器

By.name("QueryOptions")
By.name("InsuranceNum")

OR可以使用JavascriptExecutor

设置值
JavascriptExecutor jse = (JavascriptExecutor)driver; 
jse.executeScript("$('#Subscriber_ID').attr('value','user')");

答案 1 :(得分:0)

您可以使用IJavaScriptExecuter

获取它
 IJavaScriptExecutor jsExc = browser as IJavaScriptExecutor;
string textValue = jsExc.ExecuteScript("return document.getElementById('Subscriber_ID').value;").ToString();