Я не могу щелкнуть изображения, представленные в карусели ниже, как показано на снимке ниже. Я много пробовал, но потерпел неудачу, хотя мне удалось перейти к другим изображениям, нажав правую кнопку со стрелкой. Карусель изображений присутствует ниже текста заголовка «Рекомендуемые автомобили» (на веб-сайте), который имеет кнопки навигации слева и справа. Ссылка на сайт: https://st-usedtrucks.ryder.com/used-trucks
Ниже приведен один из подходов, которые я пробовал, и код ниже. Пожалуйста, мне нужна ваша помощь по этому вопросу в ближайшее время.
public void click_Image_Carousel_To_Open_ProductDetailsPage() throws InterruptedException
{
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].scrollIntoView();", driver.findElement(By.xpath("//h2[contains(text(),'FEATURED VEHICLES')]")));
WebElement ele1= null;
String image_link = null;
List<WebElement> image_Carousel_Links_list = driver.findElements(By.xpath("(//div[@class='photo']/a)"));
System.out.println("Size :"+image_Carousel_Links_list.size());
WebElement image_Carousel_Next_Btn = driver.findElement(By.xpath("//BUTTON[@class='slick-next slick-arrow'][text()='Next']"));
for(int i=1;i<image_Carousel_Links_list.size();i++)
{
System.out.println(+i+")Image links :"+driver.findElement(By.xpath("(//div[@class='photo']/a)["+i+"]")).getAttribute("href"));
System.out.println(" Element : (//div[@class='photo']/a)["+i+"]");
ele1=driver.findElement(By.xpath("(//div[@class='photo']/a)["+i+"]"));
//this for loop to rediscover the elements to avoid stale element exception
for(int k=0;k<500;k++)
{
image_Carousel_Links_list = driver.findElements(By.xpath("(//div[@class='photo']/a)"));
if(driver.findElement(By.xpath("(//div[@class='photo']/a)["+i+"]")).isDisplayed())
{
ele1=driver.findElement(By.xpath("(//div[@class='photo']/a)["+i+"]"));
break;
}
click_ImageCarousel_NextButton(image_Carousel_Next_Btn);
Thread.sleep(300);
}
if(ele1.isDisplayed())
{
ele1.click();
System.out.println(i+") Clicked on the Image present in Image Carousel :" +ele1.getAttribute("href"));
Thread.sleep(3000);
driver.navigate().back();
Thread.sleep(4000);
}
else
{
System.out.println(" Image Not found in Image Carousel");
}
}
}
private void click_ImageCarousel_NextButton(WebElement image_Carousel_Next_Btn) {
image_Carousel_Next_Btn.click();
}