[英]How to locate an element in a ExtJS pop window
被测系统使用ExtJS框架创建动态页面。
场景是当用户单击主浏览器页面上的按钮时,出现一个弹出窗口,我想在此子窗口的文本字段中输入文本。
我找到的唯一元素是外框,然后我尝试使用它来定位所需的文本框,但是失败了。
元素代码
输入type =“ text” size =“ 16” autocomplete =“ off” id =“ name” name =“ name” class =“ x-表单文本x-form-field x-form-invalid x-form-focus” style =“ width:233px;”
我试过下面的代码:
WebElement parentObj = getDriver().findElement(
By.cssSelector("#parentObj "));
WebElement newObj = parentObj.findElement(
By.xpath("//input[@id='name']"));
newObj.click();
newObj.sendKeys("Text to enter");
谁能在子extJS屏幕中帮助映射元素?
谢谢!
也许您应该尽可能地坚持使用CSS选择器:
parentObj.findElement(By.cssSelector('input[name="name"]'));
如果您的弹出窗口位于iframe内,则需要先切换到该iframe。
使用下面的代码切换到iframe,然后您可以使用现有的选择器。
var iframe = driver.findElement(By.TagName("iframe"));
driver.SwitchTo().Frame(iframe);
WebElement parentObj = driver.findElement(By.cssSelector("#parentObj "));
WebElement newObj = parentObj.findElement(By.xpath("//input[@id='name']"));
newObj.click();
newObj.sendKeys("Text to enter");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.