Перейти к содержимому

Фотография

Не срабатывает click по картинке через xpath


  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 cheshire cat

cheshire cat

    Новый участник

  • Members
  • Pip
  • 4 сообщений

Отправлено 30 января 2012 - 11:41

Почему-то не срабатывает клик по картинке через xpath. Вот собственно говоря код:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.JavascriptExecutor;



public class new  {

    public static void main(String[] args)
    {
    	WebDriver driver = new FirefoxDriver();
        driver.get("url");
        WebElement element;
        element = driver.findElement(By.id("txtUserName"));
        element.clear();
		element = driver.findElement(By.id("txtUserName"));
		element.sendKeys("login");
		element = driver.findElement(By.id("txtPassword"));
		element.clear();
		element = driver.findElement(By.id("txtPassword"));
		element.sendKeys("password");
		JavascriptExecutor js = (JavascriptExecutor) driver;
		js.executeScript("return document.getElementById('btnLogin').click()");
		driver.findElement(By.id("mini-search")).sendKeys("wild");
		driver.findElement(By.id("mini-seach-btn")).click();
		driver.findElement(By.xpath("html/body/div[2]/div[2]/div/div/ul/li[2]/div/img")).click();
        }
		}

Eclipse выдает следующее

Скрытый текст


Причем, если не вводить команду по xpath, webdriver спокойно доходит до картинки (естественно не кликая по ней), а если вводится xpath,то происходит ошибка сразу после входа на сайт. Подскажите кто может, в чем причина??? Заранее спасибо.
  • 0

#2 Wolonter

Wolonter

    Постоянный участник

  • Members
  • PipPipPip
  • 205 сообщений
  • ФИО:Макс
  • Город:Екатеринбург


Отправлено 30 января 2012 - 12:23

Почему-то не срабатывает клик по картинке через xpath. Вот собственно говоря код:

driver.findElement(By.xpath("html/body/div[2]/div[2]/div/div/ul/li[2]/div/img")).click();

Eclipse выдает следующее
NoSuchElementException: Unable to locate element: {"method":"id","selector":"mini-search"}


Веб драйвер не врет.
Если такого икспаса нет, значит его нет. Главный вопрос - когда нет. Когда кликаем нет. А когда ищем есть. Выводы - когда мы ищем - мы на элемент мышку наводим. А веб драйвер мышку не наводит, он кликает и все тут. А при наведении на элемент асинхронный оштээмэль с большим удовольствием перестраивает DOM - и ваш xPath перестает существовать.

Посмотрите, каким будет xpath, если мышку не наводить на элемент.

Это первая версия, могут быть и еще.

И да.
html/body/div[2]/div[2]/div/div/ul/li[2]/div/img
Реально, больше не к чему привязаться?
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных