2016-12-06 24 views
0

私の上司は、中国の詳細な事故調査データベースからいくつかのデータを取得するように頼んだ。最初にログインして、私の仕事で私を助けるためにRSeleniumとphantomjsを使うようにする必要があることを知っています。RSeleniumを使って​​と書かれたウェブサイトにログインする

私は初心者ですが、HTMLとjavascriptは基本的にそれを経験していません。タスクを完了するために、私はRSeleniumを理解するために多くのWebサイトを検索しました。他のウェブサイトに正しくログインすることができます。ただし、このWebサイトhttp://114.255.167.200:8092/cidasEN/extend/util_login_list.doでは、sendKeysToElementを使用してユーザー名またはパスワードを要素に挿入することはできません。

詳細については、私は正常にSeleniumサーバーを起動し、別の事故データベースvufoにログインできます。

私のコードは、私は正常にこのウェブサイトにログインして、私は、ユーザー名とパスワードを挿入する場合、私はしたいデータをつかむことができ

remDr$open(silent = T) 
remDr$navigate("https://www.vufo.de/interner-bereich/internal-area/?L=1") 
wxbox<- remDr$findElement("name","user") 
wxbox$sendKeysToElement(list(""))  
wxbox<- remDr$findElement("name","pass") 
wxbox$sendKeysToElement(list(""))  # Type password provided from GIDAS between inverted commas " " 
wxbutton<- remDr$findElement("name","submit") 
wxbutton$sendKeysToElement(list(key="enter")) 

です。しかし

remDr$open(silent = T) 
remDr$navigate("http://114.255.167.200:8092/cidasEN/extend/util_login_list.do") 
wxbox<- remDr$findElement("css selector","#name.b_1") 
wxbox$sendKeysToElement(list(""))   # Type username provided from GIDAS between inverted commas " " 
wxbox<- remDr$findElement("css selector","#password.b_1") 
wxbox$sendKeysToElement(list(""))  

のために私はエラーを得た:

Error: Summary: InvalidElementState 
Detail: An element command could not be completed because the element is in an invalid state (e.g. attempting to click a disabled element). 
class: org.openqa.selenium.InvalidElementStateException 
Further Details: run errorDetails method 

私はこの問題は、このウェブサイトはTDないのdivと書かれていることだと思います。 F12を押して、中国のウェブサイトがtd/tdで構成されていることをウェブサイトで確認することができます。

私はtd/tdの間に要素にキーを挿入する方法を知らない。 divとは異なるようです。私は答えを探すことを試みた。しかし、私はほとんど解決策を見つけることができません。

ありがとうございました。

+0

エラーが言うように、あなたがerrorDetailsメソッドを実行することがありますか? 'findElement'メソッドは基本的にレイアウトが' table'か 'div'のどちらで構築されても違いはありません。問題が言っているように、ターゲット要素が無効な状態になっていると思われます。 –

+0

コメントありがとうございました。実際に私はerrorDetailsメソッドの実行方法を知らない。ターゲット要素が無効な状態になっている場合、どのように有効にすることができますか?私は一度おそらく私は "ID"または "名前"を使用した後にCSSセレクターを試したので、要素を見つけるために間違った方法を使用したかもしれないと思った。しかし、結果は同じですが、私はまだエラーがあります。 –

答えて

1
library(RSelenium) 
remDr<-remoteDriver() 
remDr$open(silent = T) 

remDr$navigate("http://114.255.167.200:8092/cidasEN/extend/util_login_list.do") 

wxbox<- remDr$findElement("css selector","#name.b_1")$clickElement() 

remDr$findElement("css selector","#name.b_1")$sendKeysToElement(list("a"))   # Type username provided from GIDAS between inverted commas " " 

wxbox<- remDr$findElement("css selector","#password.b_1")$clickElement() 

remDr$findElement("css selector","#password.b_1")$sendKeysToElement(list("a")) 

remDr$findElement("css selector","td:nth-child(5) img")$clickElement() 
+0

ご協力いただきありがとうございました。ただし、** $ clickElement()**を追加したときにエラーが発生しました。概要:ElementNotVisible \t詳細:要素がページに表示されないため、要素コマンドを完了できませんでした。 ' –

+0

新しいコードを試してください答えに。私はそれを編集した – Bharath

関連する問題