Identifying hidden elements for drop down box for salesforce | Selenium Forum
M
Posted on 27/10/2016
Hi Team,

My code to identify the Drop down Job title for website: https://www.salesforce.com/in/form/signup/freetrial-lb.jsp?d=70130000000Enl7&internal=true is

===================================
package seleniumfirstpro;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.support.ui.WebDriverWait;

import java.util.*;

public class Salesforceloginpass {

public static void main(String[] args) {
// TODO Auto-generated method stub

//WebDriver f1 = new FirefoxDriver();
System.setProperty("webdriver.chrome.driver","D:\\java learning\\selnium2.53.1\\chromedriver.exe");
WebDriver f1 = new ChromeDriver();
f1.manage().window().maximize();
f1.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
f1.get("https://www.salesforce.com/in/");


f1.findElement(By.id("free-trial-trigger")).click();
f1.findElement(By.id("UserFirstName")).sendKeys("Test1");
f1.findElement(By.id("UserLastName")).sendKeys("Test1");
f1.findElement(By.id("UserEmail")).sendKeys("Test1@gmail.com");

f1.findElement(By.id("UserPhone")).sendKeys("7755925115");
f1.findElement(By.id("CompanyName")).sendKeys("Test1");
f1.findElement(By.id("SubscriptionAgreement")).click();
//new Select(f1.findElement(By.name("UserTitle")).

f1.findElement(By.name("UserTitle")).click();
f1.findElement(By.cssSelector("a[href*='#submit']")).click();

}

}

======================================================
When execute this code it fails with errror:
==================================
Starting ChromeDriver 2.24.417431 (9aea000394714d2fbb20850021f6204f2256b9cf) on port 10868
Only local connections are allowed.
Exception in thread "main" org.openqa.selenium.ElementNotVisibleException: element not visible
(Session info: chrome=53.0.2785.143)
(Driver info: chromedriver=2.24.417431 (9aea000394714d2fbb20850021f6204f2256b9cf),platform=Windows NT 6.1.7600 x86) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 33 milliseconds
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:32:46'
System info: host: 'MrParagJog-PC', ip: '192.168.0.100', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_60'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.24.417431 (9aea000394714d2fbb20850021f6204f2256b9cf), userDataDir=C:\Users\MRPARA~1\AppData\Local\Temp\scoped_dir1236_11100}, takesHeapSnapshot=true, pageLoadStrategy=normal, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=53.0.2785.143, platform=XP, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]
Session ID: 3999378341a35a9ab78a264054f11d9d
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:327)
at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:85)
at seleniumfirstpro.Salesforceloginpass.main(Salesforceloginpass.java:41)
===================================
Could please help how to identify hidden web elements:

Thanks and Regards
Parag Jog

M
Replied on 27/10/2016

[b:1qncdtcy][u:1qncdtcy]Use below code to identify values from "Job Title"[/u:1qncdtcy][/b:1qncdtcy]

List<WebElement>dropdownvalues=f1.findElements(By.tagName("a"));
String value="IT Manager";

for(WebElement allvalues:dropdownvalues){
System.out.println(allvalues.getText());
if(allvalues.getText().trim().toLowerCase().equalsIgnoreCase(value.trim().toLowerCase())){
allvalues.click();
break;
}


Any ways, check with Ashish for better solution


M
Replied on 01/11/2016

leave the salesforce exercise.