0
我有一個腳本需要通過硒與網頁進行交互。我需要使用某種虛擬顯示器來防止瀏覽器出現。ElementNotVisibleException僅在虛擬顯示中
這個腳本作爲一個整體很有效,直到我將Xvfb引入混合中。當我這樣做時,我第一次嘗試與該頁面進行交互時遇到了ElementNotVisibleException
。
我試過使用xvfbwrapper
和pyvirtualdisplay
,效果相同。
這裏是代碼不起作用:
from xvfbwrapper import Xvfb
vdisplay = Xvfb()
vdisplay.start()
oBrowser = Browser()
oBrowser.visit(sUrl)
oBrowser.find_by_id('some_field')[0].fill(sValue) #<--ERROR
vdisplay.stop()
這裏是不工作(但會顯示瀏覽器)的代碼:
oBrowser = Browser()
oBrowser.visit(sUrl)
oBrowser.find_by_id('some_field')[0].fill(sValue) #<--works every time
所以,我怎麼能我的代碼運行在虛擬顯示器上?
在嘗試填充字段之前,我已嘗試做一個time.sleep
,但問題似乎與緩慢加載頁面沒有任何關係。有任何想法嗎?
呃......你的標籤是錯誤的:看起來你正在使用分裂(https://splinter.readthedocs.org/en/latest/),而不是硒蟒蛇綁定(http://selenium-python.readthedocs。組織/獲取-started.html)。 –
@KirilS。指出。斯普林特是通過硒來達到魔法的,因此事情的根源是硒問題 – Sheena