2017-05-16 62 views
2

我在RSelenium中使用以下代碼打開瀏覽器。關閉瀏覽器後,甚至通過運行remDr $ close()關閉處理程序後,該端口仍在使用中。我必須去終端並手動終止進程,以便相同的端口可用。是否有任何自動化的方式讓RSelenium在完成刮擦後使端口可用?RSelenium:服務器信號端口= 4444已在使用中

因此,這裏是我的代碼:

library(RSelenium) 
rD <- rsDriver(verbose = FALSE,port=4444L) 
remDr <- rD$client 
remDr$close() 

感謝

回答

3

的過程是由兩個部分組成的服務器(Selenium服務器)和客戶端 (你啓動瀏覽器)。 remoteDriver類的close方法關閉客戶端(瀏覽器)。完成後還需要停止服務器。

要停止,當你完成對服務器:

library(RSelenium) 
rD <- rsDriver(verbose = FALSE,port=4444L) 
remDr <- rD$client 
remDr$close() 

現在明確地停止服務器:

rD$server$stop() 

,或者如果rD對象被刪除的服務器將在垃圾收集停止:

library(RSelenium) 
rD <- rsDriver(verbose = FALSE,port=4444L) 
remDr <- rD$client 
remDr$close() 
rm(rD) 
gc() 
+0

哇,你是天才! – Mohammad

相關問題