ng model GetText()方法使用Java发布Selenium WebDriver

Pra*_*abu 1 javascript java selenium xpath selenium-webdriver

操作:使用Selenium webdriver使用GetText()方法从文本框中获取值

HTMl代码

<input class="form-control ng-pristine ng-valid dirty ng-touched" type="text" placeholder="Search Query" my-enter="SaveBind('Search');" ng-model="Query.SearchTerm" name="headerSearch">
Run Code Online (Sandbox Code Playgroud)

上面一个是带文本控件的输入类型,所以我想从文本框中提取值

我的Xpath:

@FindBy(how = How.XPATH, using = "//input[@ng-model='Query.SearchTerm']")
public WebElement searchQuery;
Run Code Online (Sandbox Code Playgroud)

如果我使用getText方法我得到空值

String query = searchQuery.getText();
Run Code Online (Sandbox Code Playgroud)

但是当我们通过发送键传递值时,它完美地工作并在控件中输入值粘贴

searchQuery.sendKeys("Welcome");
Run Code Online (Sandbox Code Playgroud)

我的疑问:输入的值不会显示在HTML标记中?那么我如何从文本框中提取值?是否可以自动化Angular Js?

附加屏幕截图在此输入图像描述

Guy*_*Guy 5

不,输入的值不会显示在html中.要获取输入的值,您需要使用getAttribute()方法

String query = searchQuery.getAttribute("value");
Run Code Online (Sandbox Code Playgroud)