2016-08-20 10 views
0

Я пытаюсь нажать на кнопку, но ее ошибка.Ошибка при нажатии кнопки

код Селен

WebElement sa = driver.findElement(By.xpath("html/body/div[2]/div/div[7]/div/div/div[2]/div[2]/a[1]/div/div/div[2]")); 
     ((JavascriptExecutor)driver).executeScript("arguments[0].click()", sa); 

Ошибка я получаю:

Элемент не кликабельны в точке (215, 105). Другой элемент получит следующий щелчок: <svg style="overflow: hidden; position: relative;" xmlns="http://www.w3.org/2000/svg" width="1287" version="1.1" height="100"></svg>

Помогите.

ответ

0

Попробуйте явным образом ждать страницы для загрузки. Или страница загружена, но элемент по какой-то причине не виден. Вы можете прокручивать страницу до того места, где находится элемент.

(драйвер как IJavaScriptExecutor) .ExecuteScript (string.Format ("window.scrollTo (0, {0});", elementToClick.Location.Y));

// Щелкните элемент elementToClick.Click();

Пример вы можете найти здесь: Chrome - Element is not clickable at point #2766

0

На самом деле при условии исключения будет бросать при использовании .click() из WebElement метода вместо использования javascriptclick, Так ты уверен, что это исключение бросает в этой строке, когда вы щелкнув, используя JavascriptExexutor ??

В любом случае вы можете попробовать использовать By.cssSelector() выполнить щелчок на этом div, как показано ниже: -

driver.findElement(By.cssSelector("div.question_text")).click(); 

Отредактировано: - Если вы все еще получаете то же исключение необходимо прокручивать первым, чтобы достичь этого элемента с помощью JavascriptExexutor затем нажмите, как показано ниже: -

WebElement el = driver.findElement(By.cssSelector("div.question_text")); 

//Now scroll to reach that element 
((JavascriptExexutor)driver).exexuteScript("arguments[0].scrollIntoView()", el); 

//now click on this link 
el.click(); 
+0

еще такая же ошибка Элемент не кликабельны в точке (460,11.39999) – huges

+0

Ок вам нужно прокручивать первым, чтобы достичь этого Elemen t перед щелчком. Попробуйте отредактировать ответ и дайте мне знать .. :) –

+0

Вам нужно определить, какой элемент можно щелкнуть и передать этот элемент для выполнения щелчка ... :) –

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