C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Locating Strategies- (By CSS- Sub-String Matches)In this section, you will learn how to locate a particular web element using CSS - Sub-String Matches Technique. WebDriver provides an interesting feature of allowing partial string matches using ^, $ and*. 1. Starts with (^):To select and locate a web element, we would use ^ which means 'starts with'. Follow the steps given below to locate the Textbox using partial string matching technique.
The Java Syntax for locating a web element through CSS - Sub-String Matches Technique using ^ operator is written as: driver.findElement(By.cssSelector("Tag[attribute^=prefix of the string]")) Therefore, for locating the Text box on the sample web page we will use the input tag along with the id attribute: driver.findElement(By.cssSelector("input[id^='fna']")) Similarly, for locating the Submit button on the sample web page we will use the button tag along with the id attribute: driver.findElement(By.cssSelector("button[id^='idOf']")) We have created a sample script for you to get a better understanding of how to locate a web element through CSS - Sub-String Matches Technique using ^ operator. import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class SampleFive { public static void main(String[] args) { // System Property for Chrome Driver System.setProperty("webdriver.chrome.driver","D:\\ChromeDriver\\chromedriver.exe"); // Instantiate a ChromeDriver class. WebDriver driver=new ChromeDriver(); // Launch Website driver.navigate().to("https://www.testandquiz.com/selenium/testing.html"); // Click on the textbox and send value driver.findElement(By.cssSelector("input[id^='fna']")).sendKeys("JavaTpoint JMeter Tutorial"); // Click on the Submit button using click() command driver.findElement(By.cssSelector("button[id^='idOf']")).click(); // Close the Browser driver.close(); } } 2. Ends with ($):To select and locate a web element, we would use $ which means 'ends with'. Follow the steps given below to locate the Textbox using partial string matching technique.
The Java Syntax for locating a web element through CSS - Sub-String Matches Technique using $ operator is written as: driver.findElement(By.cssSelector("Tag[attribute$=suffix of the string]")) Therefore, for locating the Text box on the sample web page we will use the input tag along with the id attribute: driver.findElement(By.cssSelector("input[id$='me']")) Similarly, for locating the Submit button on the sample web page we will use the button tag along with the id attribute: driver.findElement(By.cssSelector("button[id$='on']")) We have created a sample script for you to get a better understanding of how to locate a web element through CSS - Sub-String Matches Technique using $ operator. import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class SampleSix { public static void main(String[] args) { // System Property for Chrome Driver System.setProperty("webdriver.chrome.driver","D:\\ChromeDriver\\chromedriver.exe"); // Instantiate a ChromeDriver class. WebDriver driver=new ChromeDriver(); // Launch Website driver.navigate().to("https://www.testandquiz.com/selenium/testing.html"); // Click on the textbox and send value driver.findElement(By.cssSelector("input[id$='me']")).sendKeys("JavaTpoint Data Structure Tutorial"); // Click on the Submit button using click() command driver.findElement(By.cssSelector("button[id$='on']")).click(); // Close the Browser driver.close(); } } 3. Contains (*):<To select and locate a web element, we would use * which means 'sub-string'. Follow the steps given below to locate the Textbox using partial string matching technique.
The Java Syntax for locating a web element through CSS - Sub-String Matches Technique using * operator is written as: driver.findElement(By.cssSelector("Tag[attribute*=sub-string]")) Therefore, for locating the Text box on the sample web page we will use the input tag along with the id attribute: driver.findElement(By.cssSelector("input[id*='id']")) We can also use 'contains()' in place of * operator driver.findElement(By.cssSelector("input:contains('id')")) We have created a sample script for you to get a better understanding of how to locate a web element through CSS - Sub-String Matches Technique using $ operator. import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class SampleSeven { public static void main(String[] args) { // System Property for Chrome Driver System.setProperty("webdriver.chrome.driver","D:\\ChromeDriver\\chromedriver.exe"); // Instantiate a ChromeDriver class. WebDriver driver=new ChromeDriver(); // Launch Website driver.navigate().to("https://www.testandquiz.com/selenium/testing.html"); // Click on the textbox and send value driver.findElement(By.cssSelector("input[id*='id']")).sendKeys("JavaTpoint C++ Tutorial"); // Close the Browser driver.close(); } }
Next TopicLocating Strategies- By CSS
|