Selenium getText [英] Selenium getText

查看:798
本文介绍了Selenium getText的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用By.id或By.cssSelector来获取文本()。

I want to getText() using By.id or By.cssSelector.

我设法通过执行getAttribute(value)解决了我的问题,但是我不明白为什么getText()不能像我期望的那样工作,我可能需要它,所以所有的帮助都表示赞赏。

I managed to solve my problem by doing getAttribute("value"), but I don't understand why getText() doesn't work like I expect it, and I might need it so all help is appreciated.

这是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。

getText() delivers the innerText of a WebElement.

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

Your input field does not have any inner Text. The text is found inside your value-attribute, hence accessing it via getAttribute("value") is the correct way to do it.

这篇关于Selenium getText的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆