我有一个目录号文本字段,其值为填充的Pen。 当我检查DOM树中的元素时,textfield值是数据绑定。 如何使用Selenium Java获取数据绑定值并验证textfield是否为空?
<input id="txtCatalogueNo" class="k-textbox" maxlength="25" data-bind="value: selectedCatalogue.CatalogueNumber">
由于
答案 0 :(得分:0)
尝试,
WebElement TxtBoxContent = driver.findElement(By.id("txtCatalogueNo"));
System.out.println(TxtBoxContent.getAttribute("value"));
或
WebElement TxtBoxContent = driver.findElement(By.id("txtCatalogueNo"));
System.out.println(TxtBoxContent.getText());
答案 1 :(得分:0)
您可以使用getAttribute
方法获取WebElement的任何属性的值。
如果data-bind
属性包含值
WebElement TxtBox = driver.findElement(By.id(txtCatalogueNo));
System.out.println(TxtBox.getAttribute("data-bind")); // to get the value in data-bind attribute.
如果Value
属性包含值:
System.out.println(TxtBox.getAttribute("value")); // to get the value in data-bind attribute.
您可以使用getText
方法
System.out.println(TxtBox.getText()); // to get the text
答案 2 :(得分:0)
试试这个:
WebElement TxtBox = driver.findElement(By.id("txtCatalogueNo"));
String valueTxtBox=TxtBox.getAttribute("data-bind").split(":")[1].trim();
System.out.println(valueTxtBox);
OR
WebElement TxtBox = driver.findElement(By.id("txtCatalogueNo"));
String valueTxtBox=TxtBox.getAttribute("data-bind").replace("value: ", "");
System.out.println(valueTxtBox);
valueTxtBox
将包含您要查找的值。
答案 3 :(得分:0)
很抱歉,对此事的回复非常简单。我只是假设你正在使用角度。
WebElement element= driver.findElement(By.id("txtCatalogueNo"));
String content = (String) ((JavascriptExecutor) driver)
.executeScript("return arguments[0].value", element);
希望这适合你。