我的老板让我从中国深度事故研究数据库中获取一些数据。我知道我需要先登录才能选择使用RSelenium和phantomjs来帮助我完成工作。使用RSelenium登录网站
我是一个HTML和JavaScript的初学者,基本上没有经验。为了完成任务,我从网站上搜索了很多东西来理解RSelenium。我可以使用它来正确登录任何其他网站。但是,对于此网站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。我试图寻找答案。但我几乎找不到任何解决办法。
谢谢。
您是否运行了错误说明的errorDetails方法? 'findElement'方法根本没有区别,无论布局是作为'table'还是'div'构建的。正如问题所述,目标元素似乎处于无效状态 - 很可能已被禁用。 –
谢谢你的评论。其实我不知道如何运行errorDetails方法。如果目标元素处于无效状态,我该如何启用它?我曾经想过,也许我用错误的方式来定位元素,以便在使用“id”或“name”来找到它之后尝试css选择器。然而,结果是一样的,我仍然有错误。 –