我已经在stackoverflow和github周围搜索过但是还没有找到解决方案。
__autoload()
在提交表单行之后,我得到以下内容:
session <- read_html("http://www.whitepages.com")
form1 <- html_form(session)[[1]]
form2 <- set_values(form1, who = "john smith")
submit_form(session, form)
我已经拼凑起来,这个错误通常是来自不匹配的类型(例如字符串和数字),但我不能告诉它可能发生在哪里。
非常感谢任何帮助!
答案 0 :(得分:4)
我自己就遇到了这个问题,我发现当submit_form()调用函数rvest ::: submit_request()时会发生错误,该函数试图运行这一行:
xml2::url_absolute(form$url, session$url)
在这一行中,R尝试创建一个抛出错误的绝对url,因为$ url或session $ url的形式为NULL。在我的例子中,session $ url由于某种原因是NULL。所以你应该尝试:
session$url <- "http://www.whitepages.com"
submit_form(session, form2)
答案 1 :(得分:1)
尝试将表单的网址更改为空字符串
提交前form2$url <- ""
。