无法识别具有部分ID的extjs日期字段

时间:2018-07-31 04:55:42

标签: java selenium-webdriver extjs datefield

我正在ExtJS中开发一个应用程序,该应用程序本质上是动态的。我使用的是Selenium Webdriver,我可以使用Partial ID(包含,Startwith等)在页面中找到文本字段,组合框,但无法在同一页面中找到Date字段(注意:只有一个日期字段页面中存在。)。请帮助我确定此日期字段对象。

我可以使用以下代码访问组合框:

WebElement comb = driver.findElement(By.xpath(“//input[contains(@id, ‘combo’)]”));

尝试以下操作,无法找到日期字段:

WebElement dateBox = driver.findElement(By.xpath(“//input[contains(@id, ‘datefield’)]”));

HTML详细信息:

<input id=”datefield-1217-inputEl” data-ref=”inputEl” type=”text” role=”textbox” size=”1″ name=”dateOfBirth” maxlength=”10″ class=”x-form-field x-form-required-field x-form-text x-form-text-default x-form-invalid-field x-form-invalid-field-default” autocomplete=”off” componentid=”datefield-1217″>

2 个答案:

答案 0 :(得分:0)

ExtJS具有现有功能,可以通过ext id(可能与HTML elementID不同)来检索元素。但是,一旦知道了元素的ext id,就可以使用此ext函数来检索元素id:onClickFunction(i) { console.log("button ",i); console.log('value received as params not as props like this.props.log'); } ,然后可以通过这种方式使用它来获取HTML元素:

Ext.getCmp("your-Ext_id").getInputId()

请查看此fiddle

答案 1 :(得分:0)

我找到了解决方案。在代码中添加了Javascript

JavascriptExecutor jsexc3 =(JavascriptExecutor)驱动程序;

jsexc3.executeScript(“ Ext.getCmp('组件名称')。queryById('表单名称')。down('# itemId ').setValue('“” 10/10/1990“')”);