Chào các bạn đã đến với topic tiếp theo của mình. Bài trước, mình đã hướng dẫn cách xác định elements by ID, ClassName và Tabname. Ở bài này, chúng ta sẽ tiếp tục xác định element bởi Name. Các xác định element by ID và Name gần như là giống nhau. Nếu xác định element bằng ID, webdriver sẽ tìm đến 1 thuộc tính ID cụ thể nào đó thì khi xác định element bằng Name, webdriver cũng sẽ tìm đến 1 thuộc tính Name cụ thể. Trong ứng dụng web, thuộc tính ID và Name thường là duy nhất và trong automation, 2 cách xác định này thường được ưu tiên sử dụng nhất.
Ví dụ như hình bên dưới:
Ở hình trên, element “Search entire store…” sử dụng cả thuộc tính ID và Name. Chỗ này mình có thể xác định element bằng ID hoặc Name. Tuy nhiên, do bài trước mình đã hướng dẫn các xác định element bằng ID rồi, nên bài này, mình sẽ dùng Name để demo nhé. Để xác định element bằng Name, mình sẽ sử dụng đoạn code sau:
driver.findElement(By.name("q"));
Nếu muốn thực hiện action input text vào textbox này thì mình sử dụng đoạn code sau:
driver.findElement(By.name("q")).sendKeys("Test");
Bên dưới là đoạn code sample, các bạn có thể run thử nhé:
package org.example;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class Main {
public static void main(String[] args) {
// Path to the Chrome Driver.
System.setProperty("webdriver.chrome.driver", "Drivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://live.techpanda.org/index.php/customer/account/create/");
driver.manage().window().maximize();
// Input text to search textbox
driver.findElement(By.name("q")).sendKeys("Test");
}
}
Chúc các bạn thành công.