![](/img/trans.png)
[英]Selenium WebDriver C# Element not visible and unable to enter Data in Text Field
[英]Selenium WebDriver C#, Unable to Enter value in a textbox
如何識別文本框並在文本框中放置一個值?
代碼段
<div id="CTR_StartDate" class=" datePickerXtreme datePickerContainer datePickerXtreme datePickerContainer datePickerXtreme datePickerContainer">
<input tabindex="0" name="ct100$CTR_StartDatectl00" value="Date" id="CTR_StartDate_ctl00" class="datePickerXtremeDateOnly validField" type="text">
<a tabindex="0" href="#" class="ui-datepicker-icon"> </a>
<input tabindex="0" value="Tuesday, 10 January 2017 00:00:00" name="ct100$CTR_StartDatectl01" id="CTR_StartDate_ctl01" type="hidden">
<input tabindex="0" value="Tuesday, 10 January 2017 00:00:00" name="ct100$CTR_StartDatectl02" id="CTR_StartDate_ctl02" type="hidden">
<span id="CTR_StartDate_ctl04" category="Common" style="color:Red;visibility:hidden;"></span>
<input tabindex="0" name="ct100$CTR_StartDatectl03" id="CTR_StartDate_ctl03" value="GMT Standard Time" type="hidden">
</div>
以下是我用來放置文本的代碼:
IWebElement ContractStartDate = driver.FindElement(By.Id("CTR_StartDate_ctl00"));
wait.Until(ExpectedConditions.ElementIsVisible(By.Id("CTR_StartDate_ctl00")));
ContractStartDate.SendKeys("14/07/2016");
我已經用Name嘗試過,但仍然無法正常工作。 它很少起作用。 那是非常罕見的。 我嘗試單擊文本框並使用發送鍵放置值,但仍然無法正常工作。 有時會發生奇怪的異常。
有人可以幫我嗎?
你可以嘗試使用CSS選擇器嗎?
String selector = "div.datePickerXtreme input.datePickerXtremeDateOnly";
IWebElement ContractStartDate = driver.FindElement(By.CssSelector(selector));
ContractStartDate.Clear();
ContractStartDate.SendKeys("14/07/2016");
可能是您的問題是,您將首先查找元素,然后檢查其可見性,然后在已發現的element
上使用.sendKeys()
,該element
可能可見或未有效地存儲到ContractStartDate
,這就是測試用例有時通過但有時失敗的原因。 嘗試如下:-
IWebElement ContractStartDate = wait.Until(ExpectedConditions.ElementIsVisible(By.Id("CTR_StartDate_ctl00")));
ContractStartDate.Click();
ContractStartDate.SendKeys("14/07/2016");
希望它能工作... :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.