2016-12-22 17 views
1

R、バージョン3.3.2を使用しています。 Rseleniumパッケージを使用して、私はこのウェブサイトからいくつかのデータを廃棄しようとしています:私はRseleniumを使用していますhttp://www.dziv.hr/en/e-services/on-line-database-search/patents/Rseleniumを使用してクロスドメインiframe要素をクリックしてください

をし、私のコードは次のようになります。これは動作しません

selServ <- RSelenium::startServer(javaargs = c("-Dwebdriver.gecko.driver=\"C:/Users/Mislav/Documents/geckodriver.exe\"")) 
remDr <- remoteDriver(extraCapabilities = list(marionette = TRUE)) 
remDr$open() 
Sys.sleep(2) 

# Simulate browser session and fill out form 
remDr$navigate("http://www.dziv.hr/hr/e-usluge/pretrazivanje-baza-podataka/patent/") 

webel <- remDr$findElement(using = "xpath", "/input[@id = 'TB1']") 

その後、私はswitchToFrame()関数を使ってiframeに行きたいと考えましたが、iframeにはidは含まれていません。

その後、私はインデックスを使用していTR:webel < - (1)remDr $ switchToFrameが、これはちょうどまたNULL

を返し、私は認識し、IFRAMEは異なるドメインを持っています。

このウェブサイトからデータを取り出すことは可能ですか?あなただけの最初のiframeを選択し、switchToFrameメソッドに渡すことができ

答えて

1

: `詳細:

webElem <- remDr$findElements("css", "iframe") 
remDr$switchToFrame(webElem[[1]]) 
webel <- remDr$findElement(using = "xpath", "//input[@id = 'TB1']") 
+0

3番目のコマンドはエラーを返し要素は、与えられた検索parameters'を使用して、ページ上に配置することができませんでした。あなたはそれをローカルで試しましたか?私は問題がiframe(http://it-app.dziv.hr/Pretrage/en/Patenti.aspx) – Mislav

+0

の異なるドメインにあると思う、それは正しく動作します。私の悪い – Mislav

関連する問題