2016-03-21 115 views
1

我最近已將硒升級到最新版本(2.53),並將Firefox升級到最新版本(45.0.1)。硒異常:元素不可點擊

我運行在同一個網站上相同的代碼,但我突然有很多例外是這樣的:

WebDriverException:消息:元素是不是在點點擊(312 8.816665649414062)。其他元素將收到點擊:

例如:

driver.find_element_by_class_name('my_class_name').click() 

是否有新的東西,我應該知道的? 我以前的蟒蛇硒的版本是相當老了,我是在火狐38

+0

好,因爲你試圖點擊()的陣列,這是returne在你這裏的代碼是行不通的d通過find_elements_by_class_name()。你能告訴我們更多的代碼,你明確知道這個例外嗎? –

+0

我能想到的唯一的事情是硒的舊版本沒有正確認識到目標上顯示了其他內容,或者您​​的應用行爲已經發生變化,因此它現在已經有了一些東西。 –

+0

我糾正了這一點。這是我的代碼。我通過實際執行一些JavaScript來點擊按鈕來解決問題。這更可靠。 – DevShark

回答

1

這是我找到了解決辦法:

driver.execute_script("arguments[0].click();", element) 

它的工作原理,並可靠地點擊元素。

0

解決方案,能爲我工作,以解決元素不是在點(x,y)的異常

1更新的鍍鉻驅動器可點擊最新一期2.15

2,獲取座標,然後點擊鏈接或按鈕

3,儘量使用點擊Y座標

# Find an element 
WebElement elementToClick = driver.findElement(By.xpath("Your xpath")); 

# Scroll the browser to the elements Y position 
((JavascriptExecutor)driver).executeScript("window.scrollTo(0," + elementToClick.getLocation().y + ")"); 

# Click the element 
elementToClick.click();