我使用Selenium來獲取div值,但休閒代碼並未等待頁面,只是爲了URL。我用time.sleep
,這是非常原始的,完全不靈活。我想明確地改變它,但是我對Python不太熟悉,並且遇到了問題。在硒中明確
網站名稱已更改,以防萬一:
def repeat():
import wx
while True:
botloc = driver.find_element_by_id('botloc').text
print botloc
botX,botY = map(int,botloc.split(','))
print botX
print botY
wx.Yield()
def checker():
if driver.current_url == 'logged.example.com':
time.sleep(5)
repeat()
else:
checker()
checker()
我怎麼能代替time.sleep
的東西靈活地等待最短的時間內儘可能的頁面會被加載後?如何正確使用我的代碼?
我知道使用網站中的元素是可行的,但我不能寫任何明智的東西,我只需要一個例子。
是否有可能使用element_by_id('botloc')
等待它可見,然後開始repeat()?
**你不必做任何事情,自動的webdriver直到頁面的載入等待。所以你可以刪除time.sleep()**從我的經驗看'driver.current_url'並沒有等待,直到頁面被加載,正在等待單元當前的URL地址將是可見的。 – Mezulith
您正在使用哪個驅動程序?嗯..在Firefox驅動程序中看到一些頁面加載問題。 –