2016-08-20 65 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

嘗試顯式等待頁面加載。或者該頁面已加載,但由於某些原因該元素不可見。您可以將頁面滾動到元素所在的位置。 (driver,as IJavaScriptExecutor).ExecuteScript(string.Format(「window.scrollTo(0,{0});」, elementToClick.Location.Y));

//單擊元素 elementToClick.Click();

的例子,你可以在這裏找到:當您使用.click()WebElement方法,而不是使用javascriptclickChrome - Element is not clickable at point #2766

0

實際上提供的異常會被拋出,那麼你肯定這個例外是當你在這行拋去點擊使用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

OK了,你需要先滾動到達到那個的Elemen t點擊之前。嘗試與編輯的答案,讓我知道.. :) –

+0

你需要確定哪個元素是可點擊的,並通過該元素來執行點擊... :) –