2016-05-10 5 views
1

Ich habe einige Timeout-Fehler festgestellt, die meine Schleife stoppen. Ich versuchte zunächst, einfach die Wartezeit zu erhöhen mit dieser Befehle:Wie wird eine Aktualisierung gesendet, wenn die Wartezeit beim Ausführen einer Schleife überschritten wird?

remDr$setImplicitWaitTimeout(milliseconds = 100000) 
remDr$setTimeout(type = "page load", milliseconds = 100000) 

Allerdings habe ich festgestellt, dass nur die Wartezeit erhöht das Problem nicht lösen, weil die Website einfach manchmal eingefroren wird, und der einzige Weg, um es zu beheben ist durch erfrischend. Also, ich frage mich, ob es eine Möglichkeit gibt, den Browser zu aktualisieren, wenn die Wartezeit überschritten wird?

+0

'remDr $ refresh()'? – Psidom

+0

@Psidom, ich bin mir dieser Funktion bewusst. Aber was ich brauche, ist eine Aktualisierung zu senden, wenn während der Ausführung einer Schleife ein Fehler aufgetreten ist. –

+0

ich habe nicht genug exp in r, aber in Java, ich kann dies auf eine andere Weise tun .... ich kann dies mit Ihnen teilen, wenn Sie dies in r konvertieren können. – noor

Antwort

0

Ich habe festgestellt, dass es einen Befehl gibt, den HTML-Code zu lesen und auch die Fehler abzufangen. Dies funktioniert für mich:

while(class(try(remDr$getPageSource(header = TRUE), silent = TRUE))=="try-error"){try(remDr$refresh(), silent = TRUE)} 

Es lohnt sich, darauf hinzuweisen, dass für diese ist die Arbeit notwendig, um die Timeout der Ladung der Seite zu erhöhen. Das funktioniert bei mir:

remDr$setImplicitWaitTimeout(milliseconds = 10000) 
remDr$setTimeout(type = "page load", milliseconds = 100000) 
Verwandte Themen