2016-07-14 3 views
0

я пытаюсь автоматизировать сайт Flipkart, в котором я пытаюсь изменить адрес, но «добавить новый адрес» не получает щелкнул i have attached the snapshot мой код похож driver.findElement(By.xpath("//*[@id='ng-app']/div/div[2]/ul/li[2]/div/div[2]/div[2]/div[2]/a/span")).click();метод клик не работает должным образом в селеном WebDriver

пожалуйста, дайте соответствующая помощь

+0

Есть ошибки? Как мы можем воспроизвести это? –

+0

в eclipse это не ошибка, это проблема, но для этого я пытался щелкнуть многие вещи, и это сработало, но эта часть не происходит – user3388407

+0

Может быть, xpath ошибочен? –

ответ

1

Я не смотрю, что вы нажимаете активный элемент, xpath равен //*[@id='ng-app']/div/div[2]/ul/li[2]/div/div[2]/div[2]/div[2]/a/span Неправильно он нажимает на какой-то промежуток.

Используйте Firepath https://addons.mozilla.org/en-US/firefox/addon/firepath/, чтобы получить xpath.

+0

этот xpath я получил его только из firepath .... и когда я пытаюсь перекрестно проверить его ... правильная цель становится подсвеченной – user3388407

0

Чтобы кнопка была нажата, используйте метод isDisplayed() и isEnabled(), прежде чем нажимать кнопку «Добавить новый адрес», этот метод возвращает логическое значение.

driver.findElement(By.xpath("//*[@id='ng-app']/div/div[2]/ul/li[2]/div/div[2]/div[2]/div[2]/a/span")).isDisplayed(); 

driver.findElement(By.xpath("//*[@id='ng-app']/div/div[2]/ul/li[2]/div/div[2]/div[2]/div[2]/a/span")).isEnabled(); 

Кроме того, вы можете проверить, что элемент существует на странице или не используя код ниже

if(driver.findElements(byVal).size()!=0){ 

// Element is present. 

} 

надеюсь, что это может полезно определить причину выдачи, почему его не интерактивными.

+0

Я пробовал эти команды, на самом деле кнопка отображается и также включена, когда i я пытаюсь щелкнуть любую из кнопок, это не происходит, но сценарий не вызывает каких-либо ошибок, я попробовал еще одну кнопку на одной странице: - 'driver.findElement (By.xpath (" // div [@id = 'нг-приложение']/дела/дела [2]/мкло/Li [2]/дела/дела [2]/дела [2]/дела/дела/дела [2]/DIV/DIV/DIV/а/p [4]/span ")). click();' все равно это не щелчок, но вручную я могу щелкнуть эти вещи – user3388407

+0

я не могу ничего щелкнуть через автоматизацию – user3388407

+0

попробуйте с помощью api для щелчка по элементу ссылайтесь на эту ссылку для нажатия на элемент с помощью действия api. http://stackoverflow.com/questions/27054560/how-to-double-click-on-an-element-using-selenium-webdriver – Eknath

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