2017-09-03 17 views
0

私は重複を避けるために完全に相談しましたが、まだどこにもいないようです。誇らしげにRSeleniumとドッカーは私のMacで動作します。問題は、kmsの結果をどのように抽出するかです:https://www.freemaptools.com/how-far-is-it-between.htm私が期待している結果は960.467キロです。私は毎年800の距離を確認していますので、この問題を解決することは間違いありません。私は空の行だけを取得しています。最後に[1] ""参照してください。RSelenium - 結果フォームからテキストを取得

kmsの結果が「読み取り専用」の入力フィールドなので、これは起こりますか? km結果をどのように抽出すればよいですか?前もって感謝します。

## Start docker in Launchpad 
## docker pull selenium/standalone-firefox 
## docker run -d -p 4445:4444 selenium/standalone-firefox 

library(RSelenium) 

remDr <- remoteDriver(remoteServerAddr = "192.168.99.100", port = 4445L, browserName = "firefox") 
remDr$open() 

# Proof that docker and RSelenium both work ----------------------------------- 

#[1] "Connecting to remote server" 
# $`moz:profile` 
# [1] "/tmp/rust_mozprofile.VrWrcVvdncmw" 
# 
# $rotatable 
# [1] FALSE 
# 
# $specificationLevel 
# [1] 0 
# 
# $`moz:accessibilityChecks` 
# [1] FALSE 
# 
# $acceptInsecureCerts 
# [1] FALSE 
# 
# $browserVersion 
# [1] "55.0.3" 
# 
# $platformVersion 
# [1] "4.4.83-boot2docker" 
# 
# $`moz:processID` 
# [1] 52 
# 
# $timeouts 
# $timeouts$implicit 
# [1] 0 
# 
# $timeouts$pageLoad 
# [1] 300000 
# 
# $timeouts$script 
# [1] 30000 
# 
# 
# $browserName 
# [1] "firefox" 
# 
# $pageLoadStrategy 
# [1] "normal" 
# 
# $platformName 
# [1] "linux" 
# 
# $id 
# [1] "32ad02e8-e98c-4061-bfe7-e89c7515cb2f" 

# Simulate browser session and fill out form ----------------------------------- 

remDr$navigate('https://www.freemaptools.com/how-far-is-it-between.htm') 

from <- remDr$findElement(using = 'xpath', value = './/*[@id="pointa"]') 
to <- remDr$findElement(using = 'xpath', value = './/*[@id="pointb"]') 

from$sendKeysToElement(list('London, UK')) 
to$sendKeysToElement(list('Milan, Italy')) 

show <- remDr$findElement(using = 'xpath', value = './/*[@id="content"]/form/table/tbody/tr[2]/td[4]/p') 
show$sendKeysToElement(list(key = 'enter')) 

distance <- remDr$findElement(using = 'xpath', value = './/*[@id="distance"]') 

distance$getElementText()[[1]] 
# [1] "" 

remDr$quit() 
remDr$closeServer() 

答えて

1

問題は、入力要素からテキストを取得しようとしていないことです。結果は正しいです。あなたは値も

distance$getElementAttribute("value") 

あなたは

+0

おかげで多くのことを背景にAJAX呼び出しがあるため、値がフェッチされ、人口取得するための十分な遅延を持っていることを確認してくださいに取得する必要があります。出来た。 – Hendrik

+0

あなたは答えとしてそれを受け入れることができますか? –

関連する問題