我是很新的硒,這樣的問題可能是愚蠢的,但我不能化解它...硒:isDisplayed返回
我試圖做一個點擊()硒(在Java中,有Eclipse和Firefox和Chrome驅動程序)上顯示並在屏幕上可見的元素,但是當我對其應用isDisplayed()
方法時,返回false
。所以我得到一個異常,告訴我該元素必須可見才能對其執行操作。
我檢查了所有父母div(我沒有在我的頁面中使用任何iframe),其中一些返回true
,因爲其他返回false。這裏是什麼,我嘗試做的代碼一個小例子:
<div id=1><div id=2><div id=3><div id=4><img that i want to click on with selenium\></div></div></div></div>
我想點擊與硒的IMG,但它認爲這是不顯示的。
- 作爲不顯示
- 的DIV4被標記爲不顯示
- 由硒作爲顯示的DIV3被標記
- 的DIV2被標記爲不顯示
- 的DIV1是IMG標記標記爲顯示,因爲所有的父母div
但我絕對可以看到圖像和其他元素在我屏幕上的同一個div。
在這一點上的任何幫助? 謝謝!編輯:我用JS來修改這些屬性,尤其是股利3,這是不顯示和標記爲未顯示在加載,但然後幾個動作後,它成爲(它是和被標記爲)顯示。
編輯2:我發現標記爲不顯示的兩個div的樣式都具有樣式display:block;
(在chrome開發工具中可以看到)。有任何想法嗎 ?
EDIT3:基於評價給定的鏈路上,我添加計算樣式的div:
- DIV4:它具有非零的高度和寬度,顯示被設定在塊中。它甚至有一個最小寬度和最小高度。
- div3:它具有非零高度和寬度,顯示也在塊上設置
- div2:它具有0高度非零寬度和display:block;所以這可能是問題所在。
- div1:它有一個0高度,非血清寬度,沒有顯示參數,以及隱藏的溢出-x和y。認爲這一個被標記爲由硒顯示...
任何想法?
向我們展示* actual * HTML,並嘗試在面向公衆的網站上重現此內容。 – Arran
問題是,實際的HTML是相當大的......並且由於它被JS修改,它甚至不會有它的「最終形式」。我試圖在公共網站上重新生成一個較小的html文件。 – Matt
我無法用簡單的html文件重現相同的效果... 但是我確實發現標記爲不顯示的div div Selenium同時具有syle =「display:block;」在他們計算的樣式(在Chrome下)。 有什麼建議嗎? – Matt