當我在無頭模式chrome瀏覽器中運行測試腳本時,元素鏈接不可見,無法做到linkElement.click()
。在頭部模式下一切正常。所有其他信息都在堆棧跟蹤中。 任何人都知道該怎麼做,請嗎?ElementNotVisibleException當使用無頭Chrome瀏覽器
堆棧跟蹤:發生
錯誤:消息:元素不可見
(會話信息:無頭鉻= 60.0.3112.90)
(駕駛員信息:chromedriver = 2.31.488763(092de99f48a300323ecf8c2a4e2e7cab51de5ba8),平臺= Windows NT的6.1.7601 SP1 x86_64的)
回溯(最近通話最後一個):
文件 「C:\ nik-x.py」,線路148,在主
FUNC(聶)
文件「C:\ LIB \支持。 PY」,線121,在包裝
加註保留
文件 「C:\ lib中\ support.py」,線路108,在newFunc
RES [0] = FUNC(*指定參數時,** kwargs)
文件「C:\ testcases \ nik-1003.py」,第37行,在testcase中
i.click()
文件「C:\ Python36 \ lib \ site-packages \ selenium \ webdriver \ remote \ webelement.py」 7行
7,在點擊
self._execute(Command.CLICK_ELEMENT)
文件 「C:\ Python36 \ lib中\站點包\硒\的webdriver \遠程\ webelement.py」,第4行
93,在_execute
返回self._parent.execute(命令,則params)
文件 「C:\ Python36 \ lib中\站點包\硒\的webdriver \遠程\ webdriver.py」,第25行
6,在執行
self.error_handler.check_response(響應)
文件 「C:\ Python36 \ lib中\站點包\硒\的webdriver \遠程\ errorhandler.py」,線
194,在check_response
加註exception_class(消息,屏幕,堆棧跟蹤)
selenium.common.exceptions.ElementNotVisibleException:消息:元素不可見
(會話信息:無頭鉻= 60.0.3112.90)
(駕駛員信息:chromedriver = 2.31.488763(092de99f48a300323ecf8c2a4e2e7cab51de5ba8),平臺= Windows NT的6.1.7601 SP1 x86_64的)
這裏是我的代碼:從測試頁
icons = nik.elementLeftmenuSportIcons() for i in icons[:-1]: try: i.click()
HTML:<a href="#" class="default b_futbal gaPageEventElement" data-ga-cat="Sporty" data-ga-action="futbal"> <span class="left-menu-only-large-res">Futbal</span> </a>
錯誤堆棧跟蹤了一切'ElementNotVisibleException:消息:元素不可見「要麼等待元素可見,要麼必須將該元素置於視口內才能點擊。 – DebanjanB
這也可能是JS中的一些實際差異。因爲JS可能會改變屬性。取代單擊元素,獲取元素並打印其所有屬性,特別是座標和所有屬性。然後看看有什麼區別 –
@ DebanjanB謝謝,我試圖添加等待(10),switch_to_frame,窗口等,但我仍然有同樣的問題。 – Ghost