2012-12-13 9 views
8

Proxy aracılığıyla bir web sitesi yükleyen basit bir kod parçası çalıştırıyorum, ancak bazen proxy yavaş olabilir ve bu da WebDriver .get (url) isteğine neden olabilir süresiz engellemek.Python Selenium WebDriver (url) işlevini almak için zaman aşımı nasıl eklenir

WebDriver için bu işlev için zamanaşımı ayarlayan basit bir Python kodu parçası var mı? Arama yoluyla sadece java için çalışan teknikler buldum.

driver.get(url) 
+0

is it ölür ne kadar süre: Selenyum böylece yuva kitaplığını kullanır Ben priz modülü üzerindeki bir zaman aşımı ayarlamak, bu biz (sayfa yükleme durdurulur) tarayıcıya kaçış anahtarını göndermek için kullanabileceği bir hata atar indirmek için almak? Sayfanın yaklaşık 2 dakika sonra herhangi bir sorun olmadan ortaya çıktığı durumlar vardı. 'Driver.get (URL) ' –

cevap

4

docs

selenium.webdriver.remote.webdriver.set_script_timeout bu Bulunan (TIME_TO_WAIT) orada ben eskiden ne tüm web cretents için

Set the amount of time that the script should wait before throwing an error. 

time_to_wait: The amount of time to wait 

Usage: 

driver.set_script_timeout(30) 
+0

Yararlı görünüyor ama örtük (açık?) Beklemenin işe yaramayacağını bilmiyorum.) cal. Ayrıca WebDriver korkunç belgelere sahiptir, bu yüzden hatayı yakalamak için bunu nasıl uygulayacağımı bilmiyorum. –

+0

Ben de "driver.implicitly_wait (5)" çalışıyorum ama hiçbir şey yapmıyor. Sadece X'in zamanından sonra hala çalışıyorsa "driver.get (url)" çağrısını bitirmek istiyorum, ama WebDriver bu kadar kolay olmamış gibi görünüyor. Bu bağlantı ya yardımcı olmaz (her zaman ilk önce gelir): http://code.google.com/p/selenium/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Stars%20Type% 20Status% 20Priority% 20Milestone% 20Onerer% 20Summary & groupby = & sort = & id = 687 –

+0

Ne olmasını beklediğinizi bilmek yardımcı olabilir. Anladığım zaman aşımı olduğunda bir TimeoutException atılır. – srhegde

7

Bu sorunu çözmek bu oldu.

socket.setdefaulttimeout(2) 
try: 
    driver.get(pageLink) 
except socket.timeout: 
    #send ESCAPE key to browser 
+0

Küresel soket zaman aşımını ayarlamak gerçekten iyi bir fikir değil. – erm3nda

İlgili konular