【发布时间】:2018-01-30 13:57:21
【问题描述】:
我有以下 Rselenum 代码:
library(RSelenium)
remDr <- remoteDriver(remoteServerAddr = "192.168.99.100", port = 4445L, browserName = "chrome")
remDr$open()
# Simulate browser session and fill out form
remDr$navigate("https://oss.uredjenazemlja.hr/public/lrServices.jsp?action=publicLdbExtract")
remDr$findElement(using = "xpath",
"//*[@id='x-auto-29']/input")$sendKeysToElement(list("Beli Manastir", key = "enter"))
Sys.sleep(1L)
remDr$findElement(using = "xpath",
"//*[@id='x-auto-30']/input")$clickElement()
Sys.sleep(1L)
remDr$findElement(using = "xpath",
"//*[@id='x-auto-30']/input")$sendKeysToElement(list("Baranjsko", key = "enter"))
Sys.sleep(1L)
remDr$findElement(using = "id",
"x-auto-32")$sendKeysToElement(list("1"))
Sys.sleep(1L)
remDr$findElement(using = "xpath",
"//*[@id='x-auto-33']/input")$clickElement()
Sys.sleep(1L)
remDr$findElement(using = "xpath",
"//*[@id='x-auto-35']/div[2]")$clickElement()
Sys.sleep(1L)
remDr$findElement(using = "xpath",
"//*[@id='x-auto-14']/tbody/tr/td[2]/em/button")$clickElement()
如您所见,弹出了新的“窗口”。如果我尝试在新窗口中选择任何元素,但它会返回并出错。我怎样才能下载验证码图片或在文本框中写一些东西?我尝试了 Windows 处理程序,但它不是一个新窗口。
编辑:
我在几个地方找到了我应该使用 javascript 来单击隐藏元素的地方。我试过了:
script <- "return document.getElementById('x-auto-135').hidden;"
remDr$executeScript(script, args = list())
但得到一个错误:
Error: Summary: UnknownError
Detail: An unknown server-side error occurred while processing the command.
class: java.lang.NullPointerException
Further Details: run errorDetails method
【问题讨论】:
标签: r web-scraping httr rselenium