@Test
public void handleChatboxMessenger() {
driver.navigate().to("https://anhtester.com/contact");
sleep(10);
System.out.println("iframe total: " + driver.findElements(By.tagName("iframe")).size());
//----Switch to content of Messenger--------
driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@data-testid='dialog_iframe']")));
//Get title
System.out.println(driver.findElement(By.xpath("//strong")).getText());
//Get description
System.out.println(driver.findElement(By.xpath("(((//strong/parent::div)/parent::div)/following-sibling::div)[2]")).getText());
//----Switch to icon of Messenger---------
//1. Switch to Parent WindowHandle
driver.switchTo().parentFrame();
//2. Switch to iframe icon of Messenger
driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@data-testid='bubble_iframe']")));
driver.findElement(By.tagName("svg")).click(); //Nhấn icon để ẩn messenger chat đi
sleep(2);
}
- Bước 1: Đếm số iframe xem website mình có tổng số mấy cái để có gì chúng ta lấy theo vị trí của iframe khi nó không có thuộc tính nào cả (đường cùng)
driver.findElements(By.tagName("iframe")).size()
- Bước 2: Xác định cái Dialog bên trên của Messenger:
//----Switch to content of Messenger--------
driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@data-testid='dialog_iframe']")));
Lấy text của title và description
System.out.println(driver.findElement(By.xpath("//strong")).getText());
System.out.println(driver.findElement(By.xpath("(((//strong/parent::div)/parent::div)/following-sibling::div)[2]")).getText());
- Bước 3: Xác định cái Icon bên dưới của Messenger:
Chúng ta phải switch về cái frame chính default vì nó đang trỏ đến frame của dialog bên trên.
Sau đó mới switch đến icon của messenger sau.
//1. Switch to Parent WindowHandle
driver.switchTo().parentFrame();
//2. Switch to iframe icon of Messenger
driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@data-testid='bubble_iframe']")));
Nhấn icon với thẻ svg cho dễ
//Nhấn icon để ẩn messenger chat đi
driver.findElement(By.tagName("svg")).click();
Anh Tester
Đường dẫu khó chân vẫn cần bước đi
Đời dẫu khổ tâm vẫn cần nghĩ thấu