2016-12-02 94 views
3

長期和短期的,這是當我嘗試使用硒:元素不能點擊...其他的元素將獲得點擊,點擊反正

return this.driver.findElement(By.css("div[class*='img']")).click(); 

我得到一個錯誤Uncaught WebDriverError: unknown error: Element is not clickable at point (525, 889). Other element would receive the click:...

我怎麼可以點擊反正並讓「其他元素」收到點擊?我正在使用webdriverjs。

這背後的推理基本上是我測試的網站做了一些奇特的反應,它以某種方式遮蔽了鏈接。基本上不用附加鏈接到圖像,整個圖像覆蓋了一個透明的盒子,它可以將你鏈接到某個地方(不要問我爲什麼)。當你點擊圖片時,你並不是實際上是點擊圖片,但從用戶的角度來看它們是一樣的。

當我使用webdriverIO我可以說

browser.moveToObject("img"); browser.leftClick();

,但我們正在從遠。我也試過

this.driver.findElement(By.css("div[class*='img']")); 
    return this.driver.actions().click().perform(); 

但它似乎沒有做任何事情。

關於這個錯誤已經有很多問題了,但是我還沒有看到任何讓你點擊的問題。

+0

我看你找到了答案,這就是我會也建議。我真的很驚訝'行爲()'不起作用。在我重讀您的問題並看到您已經嘗試過之前,這將是我的第二個建議。 – JeffC

+0

是的,它是一個奇怪的,它沒有拋出一個錯誤,它似乎並沒有做任何事情 – Sarah

回答

4

在尋找了幾個小時的答案,發帖提問,緊接着又找到答案的一個經典案例,我發現周圍的工作:

var mylink = this.driver.findElement(By.css("div[class*='img']")); 
return this.driver.executeScript("arguments[0].click();", mylink);