Как кликнуть по ссылке-изображению в Selenium

Ссылки-изображения – это ссылки на веб-страницах, представленные в виде изображения, при нажатии на которое происходит перенаправление на другое окно или страницу.

Поскольку они являются изображениями, мы не можем использовать методы By.linkText() и By.partialLinkText(), так как ссылки-изображения в принципе не имеют текста ссылок.

Примечание редакции: об использовании этих методов читайте в статье “Поиск элементов по тексту ссылки в Selenium”.

В этом случае следует прибегнуть либо к 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();		

    }		
}

Результат:

Результат: перенаправление на домашнюю страницу Facebook

Вывод:

Наиболее простой способ получить доступ к ссылке-изображению в Selenium – использовать метод By.cssSelector().

Перевод статьи «How to Click on Image in Selenium Webdriver».

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *