Selenium Java:我怎样才能获得价值

时间:2016-11-16 05:36:07

标签: selenium selenium-webdriver

我有一个目录号文本字段,其值为填充的Pen。 当我检查DOM树中的元素时,textfield值是数据绑定。 如何使用Selenium Java获取数据绑定值并验证textfield是否为空?

<input id="txtCatalogueNo" class="k-textbox" maxlength="25" data-bind="value: selectedCatalogue.CatalogueNumber">

由于

4 个答案:

答案 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);

希望这适合你。