By.id veya By.cssSelector kullanarakText() öğesini almak istiyorum.Selenyum getText
Sorunumu getAttribute ("value") yaparak çözmeyi başardım, ancak getText() 'in neden beklediğim gibi çalışmadığını anlamıyorum ve buna ihtiyacım var, bu yüzden tüm yardımlar takdir ediliyor.
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"
Ve html:
<input id="general_service_name" type="text" value="[reg] title" name="general_service_name" style="float:left;"/>
getText yalnızca görünen metni döndürür ve herhangi bir HTML öğesini GERÇEKLEŞTİRMEZ ve hiçbir gizli metni İADE ETMEZ. Örneğin, Java ile bu sorunu boş dönen BR etiketi ile yapıyordum. '.getText()' yerine, '.getAttribute (" innerHTML ")' i kullandım. Bu, daha sonra görünmeyen herhangi bir HTML veya gizlenen metin dahil olmak üzere aradığım şeyi döndürecektir. – jsherk