Selenium getText [英] Selenium getText
本文介绍了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;"/>
推荐答案
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屋!
查看全文