我无法找到日期选择器的元素 . 我尝试了CssSelector和xpath以及所有内容 . 以下是我试过的代码 .
Code :
WebElement dateWidget = driver.findElement(By.xpath(".//*[@id='dp1469511990123']"));
List<WebElement> columns=dateWidget.findElements(By.tagName("td"));
for (WebElement cell: columns)
{
if (cell.getText().equals("21"))
{
cell.findElement(By.linkText("21")).click();
break;
}
}
这是HTML代码 .
HTML :
<input id="dp1469511990123" class="ng-pristine ng-untouched ng-valid hasDatepicker ng-not-empty" type="text" ng-disabled="input.p1Edit==0" ng-model="vendor.companyStartedDate" ui-date="comp_st_date" disabled="disabled"/>
Here is the Error:
org.openqa.selenium.NoSuchElementException:无法找到元素:> {“method”:“xpath”,“selector”:“.//* [@ id ='dp1469511990123']”}命令持续时间或超时:10.07秒有关此错误的文档,请访问:> http://seleniumhq.org/exceptions/no_such_element.html构建信息:版本:'2.53.0',修订版:>'35ae25b1534ae328c771e0856c93e187490ca824',时间:'2016-03-15 10 :43:46'系统信息:主机:'user-PC',ip:'192.168.1.52',os.name:'Windows 7',> os.arch:'amd64',os.version:'6.1', java.version:'1.8.0_51'驱动程序信息:org.openqa.selenium.firefox.FirefoxDriver
1 回答
id
值看起来是动态生成的,我会使用ng-model
代替:计算可读性作为奖励 .
并且,看看你是否需要wait until the presence of the element .