คลิกที่ภาพใน 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();
}
}
ผล
สรุป
ทั้งหมดนี้เป็นเพียงการคลิกรูปภาพ การเข้าถึงลิงค์รูปภาพทำได้โดยใช้ By.cssSelector()

.png)
.png)