我經歷了類似的問題,一對夫婦幾天前,我在我的個案中找到了解決方案。 ===使用Selenium Webdriver,我想點擊「First Link」鏈接,並在頁面上加載內容。
下面的代碼結構一樣我的情況的部分:
<li class="first-link">
<a class="common-style" href="javascript:;" style="padding-left: 15px; padding-right: 15px;">First Link</a>
</li>
===結果是,Webelement是應該找到並點擊,但切換到UI,什麼都沒有發生,沒有誤差拋出元素(找不到元素,元素沒有準備好點擊,元素禁用等)。
在嘗試了幾種不同的方法來查找通過(xpath和css,沒有嘗試通過ID,因爲在我的情況下沒有唯一的ID)的鏈接,我能夠訪問和點擊與CSS的Selenium webdriver的元素具有以下值:li.first-link a
。 但是,當我嘗試通過xpath訪問以下值時,這是在Firefox中「找到」,但點擊沒有工作:.//li[a/text()='First Link']
。
這個問題是一個輕微的xpath語法問題,來自Firefox的firebug根本沒有報告,實際上它找到了鏈接。
我改變了括號命令是這樣的:.//li/a[text()='First Link']
現在按預期工作,第一個鏈接被發現,點擊和加載頁面的JavaScript代碼被激發。
我的發現是: *這不是一個計時問題,所以這不會發生,因爲您嘗試點擊未準備好的元素。否則,我們已經用明確的Selenium等待解決了這個問題...
SOLUTION提示:驗證您的HTML結構,你的XPath,試圖找到問題的語法,找到不同的方式來訪問的元素。
@saumil說:非常感謝,這是爲我工作 –
相關文章 - http://stackoverflow.com/questions/43011751/how-do-find-out-why-an-element-is-disabled-briefly – testerjoe2