在我的應用程序中,我有一個文本框,當我點擊時帶日期選擇器來選擇日期。一種方法是從datepicker中選擇日期,或者您可以手動發送日期。但是,每當我發送日期時說它無法找到元素。datepicker + webdriver +無法識別元素
這對於發送日期到文本框中
driver.findElement(By.xpath(".//*[@id='txtdateFrom']")).sendKeys("03/05/2013");
代碼它引發以下錯誤
org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":".//*[@id='txtdateFrom']"}
Command duration or timeout: 15 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.31.0', revision: '1bd294d', time: '2013-02-27 20:52:59'
System info: os.name: 'Windows 8', os.arch: 'x86', os.version: '6.2', java.version: '1.7.0_17'
Session ID: 3eea4ac2-2b38-4688-9733-8734077f7d3e
Driver info: org.openqa.selenium.firefox.FirefoxDriver
我沒有權限來添加屏幕截圖。 請幫忙!!
請在下面找到
<input id="txtdateFrom" class="textbox hasDatepicker" type="text" style="color:Gray;" name="txtdateFrom">
請找到iFrame HTML內容,點擊它會填充日期選擇器
attributes
[type="text", style="color:Gray;", 2 more...]
0
type="text"
1
style="color:Gray;"
2
class="textbox hasDatepicker"
3
id="txtdateFrom"
4
name="txtdateFrom"
當文本字段的
<iframe width="100%" scrolling="auto" height="493" frameborder="1" style="vertical-align: top;" allowtransparency="true" id="ContentMain" src="../Report/AuditorAssignmentReportSearch.aspx?Width=100&Height=528"></iframe>
DOM,這是在HTML一旦文本框被點擊,日期選擇器的屬性
attributes
[class="ui-datepicker-header ui-widget-header ui-helper-clearfix ui-corner-all"]
0
class="ui-datepicker-header ui-widget-header ui-helper-clearfix ui-corner-all"
更新DOM
attributes
[onclick="DP_jQuery_1368459704950.datepicker._selectDay('#txtdateFrom',4,2013, this);return false;", class=
" ui-datepicker-today"
]
0
onclick="DP_jQuery_1368459704950.datepicker._selectDay('#txtdateFrom',4,2013, this);return false;"
屏幕截圖無論如何也不會有幫助,你應該總是針對Selenium/WebDrvier問題發佈的是實際的HTML。 – 2013-05-12 15:16:42
@Ross Patterson:我添加了HTML代碼 – Sriram 2013-05-13 05:15:33
@Sriram:爲什麼不使用driver.findElement(By.id(「txtdateFrom」))。sendKeys(「03/05/2013」);如果日期選擇器不在iframe中,這可能適用於您。 – Omkar 2013-05-13 05:49:26