下面给出了使用Fire Bug检查的元素(文本框)。
input class="text-input--underbar ng-pristine ng-valid ng-touched"
type="tel" placeholder="Mobile Number" ng-model="credentials.loginName" name=""
我应该在下面给出的代码中使用此元素的哪个属性:
driver.findElement(By.
*注意:
上面给出的所有属性都没有通过findElement
方法识别。
我没有使用任何测试框架(Junit4,TestNG等......)
答案 0 :(得分:1)
您可以使用CSS选择器:
driver.findElement(By.cssSelector("input[ng-model='credentials.loginName']")).sendKeys("1234");
或者:
driver.findElement(By.cssSelector("input[placeholder='Mobile Number']")).sendKeys("1234");
答案 1 :(得分:0)
元素的父母中是否有任何ID或类可以让它们容易被发现?如果是,请找到这些元素,然后在其中搜索子元素。例如,如果这是你的DOM:
<div class="class1">
<input class="text-input--underbar ng-pristine ng-valid ng-touched" type="tel" placeholder="Mobile Number" ng-model="credentials.loginName" name="" />
</div>
然后我会使用driver.findElement(By.className("class1")).findElement(By.tagName("input"));
答案 2 :(得分:0)
您应该使用'@'
作为属性。使用以下任何一个:
1- driver.findElement(By.xpath("//input[@placeholder='Mobile Number']"));
2- driver.findElement(By.xpath("//input[@ng-model='credentials.loginName']"));
要编写xpath,请参阅http://www.w3schools.com/xsl/xpath_axes.asp