如何从 JS 元素的 Anjular 的文本区域获取文本,当我尝试使用 getText() 时它返回空文本,如果我使用 ng-model

How to get the text from textarea of Anjular an JS element, When i tried using getText() it is returning empty text and if i used ng-model

Html 我要获取文本的元素代码:

<textarea ng-model="event.additionalInfo" maxlength="255" rows="1" md-no-autogrow="false" md-no-resize="false" data-ng-disabled="eventNotEditable" class="ng-valid md-input ng-valid-maxlength ng-dirty ng-valid-parse ng-touched ng-not-empty" id="input_30" aria-invalid="false" style=""></textarea>

我的尝试方式:

WebElement element= driver.findElement(By.id("input_30"));
String s = RandomStringUtils.randomAlphanumeric(256);
element.sendKeys(s);
Thread.sleep(2000);
    System.out.println(element.getText());

如果有任何最好的方法请告诉我,在此先感谢您的帮助

如果您使用 angular,我建议您使用 Protractor

要在输入中提交文本:

using Protractor;

var ngDriver = new NgWebDriver(driver);
//Go to your url
ngDriver.WaitForAngular();

string s = "Test";
IWebElement query = ngDriver.FindElement(By.Id("input_30"));
query.SendKeys(s);

从输入中获取文本:

var x = ngDriver.FindElement(By.Id("put the id here")).Text;

抱歉我的问题不清楚,这个Post解决了我的问题

实际上输入元素在 value 属性中包含它们的值,所以你应该尝试如下:-

List<WebElement> values = driver.findElements(By.xpath("//input[@ng-model='controller.model.value']"));
for(WebElement el : values)
{
  String theTextIWant = el.getAttribute("value");
  System.out.println(theTextIWant);
}