วิธีคลิกที่ภาพใน Selenium ไดรเวอร์เว็บ

การเข้าถึงลิงค์รูปภาพ

ลิงก์รูปภาพคือลิงก์ในหน้าเว็บที่แสดงด้วยรูปภาพซึ่งเมื่อคลิกจะนำทางไปยังหน้าต่างหรือหน้าอื่น

เนื่องจากเป็นรูปภาพ เราจึงไม่สามารถใช้เมธอด By.linkText() และ By.partialLinkText() ได้ เนื่องจากโดยพื้นฐานแล้วลิงก์รูปภาพไม่มีข้อความลิงก์เลย

ในกรณีนี้ เราควรหันไปใช้ By.cssSelector หรือ By.xpath วิธีแรกเป็นที่ต้องการมากกว่าเนื่องจากความเรียบง่าย

ในตัวอย่างด้านล่าง เราจะเข้าถึงโลโก้ “Facebook” ที่ด้านซ้ายบนของหน้าการกู้คืนรหัสผ่านของ Facebook

การเข้าถึงลิงค์รูปภาพ

เราจะใช้ By.cssSelector และแอตทริบิวต์ "title" ขององค์ประกอบเพื่อเข้าถึงลิงก์รูปภาพ จากนั้นเราจะตรวจสอบว่าเราถูกนำไปที่หน้าแรกของ Facebook หรือไม่

package newproject;
import org.openqa.selenium.By;		
import org.openqa.selenium.WebDriver;		
import org.openqa.selenium.chrome.ChromeDriver;		

public class MyClass {				
    		
    public static void main(String[] args) {									
        String baseUrl = "https://www.facebook.com/login/identify?ctx=recover";					
        System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe");					
        WebDriver driver = new ChromeDriver();					
        		
        driver.get(baseUrl);					
        //click on the "Facebook" logo on the upper left portion		
			driver.findElement(By.cssSelector("a[title=\"Go to Facebook home\"]")).click();					

			//verify that we are now back on Facebook's homepage		
			if (driver.getTitle().equals("Facebook - log in or sign up")) {							
            System.out.println("We are back at Facebook's homepage");					
        } else {			
            System.out.println("We are NOT in Facebook's homepage");					
        }		
				driver.close();		

    }		
}

ผล

คลิกที่ภาพใน Selenium ไดรเวอร์เว็บ

สรุป

ทั้งหมดนี้เป็นเพียงการคลิกรูปภาพ การเข้าถึงลิงค์รูปภาพทำได้โดยใช้ By.cssSelector()

จดหมายข่าว Guru99 รายวัน

เริ่มต้นวันใหม่ของคุณด้วยข่าวสาร AI ล่าสุดและสำคัญที่สุดที่ส่งมอบทันที