微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – Selenium getText

我想使用By.id或By.cssSelector getText().

我设法通过执行getAttribute(“value”)来解决我的问题,但我不明白为什么getText()不能像我期望的那样工作,我可能需要它所以所有的帮助都很感激.

这是java

webdriverwait wait = new webdriverwait(driver,10);         
Boolean elementIsPresent = wait.until(ExpectedConditions.textToBePresentInElementValue(By.cssSelector("#general_service_name"),"[reg] general_service_name")); // true          

//WebElement general_service_name = driver.findElement(By.cssSelector("#general_service_name"));
WebElement general_service_name = driver.findElement(By.id("general_service_name"));

// display check
Boolean isdisplayed;
if(general_service_name.isdisplayed())  isdisplayed = new Boolean(true); else isdisplayed = false; //true

String text_empty = general_service_name.getText(); //""
String text_with_value = driver.findElement(By.id("general_service_name")).getAttribute("value"); //"[reg] general_service_name"

和HTML:

<input id="general_service_name" type="text" value="[reg] title" name="general_service_name" style="float:left;"/>

解决方法

http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebElement.html#getText()

getText()提供WebElement的innerText.

您的输入字段没有任何内部文本.文本位于value-attribute中,因此通过getAttribute(“value”)访问它是正确的方法.

原文地址:https://www.jb51.cc/java/127721.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐