2014-11-12 1 views
0

Я пытаюсь изучить селен, автоматизируя amazon.in Я бы хотел нажать на движущееся изображение в электронном пятне. Кажется, нет класса или идентификатора. Тогда как я могу продолжить?Selenium webdriver - нажмите на движущиеся изображения espot - Amazon.in

WebDriver driver= new FirefoxDriver(); 
    @Test 
    public void test() { 
     driver.get("http://amazon.in"); 
     driver.manage().window().maximize();  
     WebElement menu = driver.findElement(By.xpath("//li[@id='nav_cat_2']")); 
     Actions builder = new Actions(driver);  
     builder.moveToElement(menu).build().perform(); 
     WebDriverWait wait = new WebDriverWait(driver, 5); 
     wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//a[@class='nav_a nav_item' and .=\"All Books\"]"))); 
     WebElement menuOption = driver.findElement(By.xpath("//a[@class='nav_a nav_item' and .=\"All Books\"]")); 
     menuOption.click(); 

Я дошел до страницы. Но не знаю, как действовать дальше.

URL 
http://www.amazon.in/Books/b/ref=nav_shopall_books_all/280-9259056-7717210?_encoding=UTF8&node=976389031 

enter image description here

ответ

1

Как я могу видеть, изображения становятся прокручивается, так что просто ждать соответствующего изображения, а затем нажмите на него. Я добавил код, основанный на том, что:

wait = new WebDriverWait(driver,60); 
wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath("//div[@class='acsux-hero-wrap']//li[2]//img"))); 

WebElement ele = driver.findElement(By.xpath("//div[@class='acsux-hero-wrap']//li[2]//img")); 
ele.click(); 

В приведенном выше коде, водитель ждет, пока видимость 2-го изображения находится менее чем за 60 секунд. Затем он нажимает на этот элемент.

Точно так же вы можете просто заменить номер Li [2] с "ли [1]" для первого элемента, "Ли [4]" для четвертого элемента, и так далее.

0

Используйте другие атрибуты, такие как ширина или альт

// IMG [содержит (@ альт, 'Дети')]

я смог нажать на выделенные изображение, показанное на вашем скриншоте, хотя его другое изображение с разными ключевыми словами, которые я считаю, вам понадобится какой-то связанный атрибут для этого изображения, чтобы он мог щелкнуть его независимо от его содержимого или так, и это будет что-то вроде того, img отметьте это и скоро.

надеюсь, что это помогает

Смежные вопросы