簡體   English   中英

Selenium WebDriver 無恥地返回錯誤的 WebElement 高度

[英]Selenium WebDriver Shamelessly Returns Incorrect Height of WebElement

我試圖WebElement捕獲snaptshot: .//*[@id='aplus']/div使用火狐硒WebDriver這個網頁上: https://www.amazon.com/dp/B07G9RZD14

當我使用 Chrome 檢查元素時,我得到以下尺寸: 979.2 by 1961.6

但是,當調用element.getSize().getWidth()element.getSize().getHeight()我得到979 (寬度)和1461 (高度)。 因此寬度與Chrome Inspector檢索到的值相匹配,但高度相差數百個點(准確地說是 500)。 WebDriver 返回錯誤的高度,但並不為此感到羞恥。

此外,當我截取實際元素的屏幕截圖時,似乎元素的部分高度實際上並未被捕獲,因此 Chrome 返回的值似乎是正確的。

我嘗試通過getAttribute()和通過JS檢索該線程中建議的“自然高度和寬度”,但在這兩種情況下,它都只返回NULL

為什么 WebDriver 返回錯誤的高度,我怎樣才能讓它返回正確的值?

謝謝

這是因為當你檢查 div 時,你的瀏覽器有一個固定的維度,而當你運行測試時有一個不同的維度。 嘗試在全屏模式下檢查尺寸,並在瀏覽器設置為全屏的情況下運行測試。

我進一步調查了這個現象,結果發現瀏覽器的大小不是這個問題的原因。 我總是以最大化模式運行瀏覽器。 事實證明,HTML 代碼中有一個“擴展器”函數,導致元素在滾動到視圖中后增長。 這是如何工作的主題是我在 SO 上發布的一個新問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM