使用rvest处理动态字段名:如何为其设置值?
给rvest中的动态表单字段赋值
你已经成功拿到了动态字段名f.account,接下来给这个字段设置值其实很简单,这里分享两种常用的可行方法:
方法一:用html_form_set()函数(推荐)
这个函数支持通过字符串指定字段名,完美适配动态字段的场景,核心是用!!操作符把变量里的字符串解析成字段名:
# 替换成你实际要设置的账号内容 target_value <- "your_username" # 给动态字段赋值 filled_form <- html_form_set(f0[[2]], !!f.account := target_value)
方法二:直接修改表单的fields结构
如果你习惯直接操作表单对象的底层结构,也可以通过匹配字段名定位后修改值:
target_value <- "your_username" # 找到动态字段在fields列表中的位置 field_index <- which(names(f0[[2]][['fields']]) == f.account) # 给对应字段设置值 f0[[2]][['fields']][[field_index]]$value <- target_value
这种方式能更直观地看到表单对象的修改过程,适合需要额外调整字段属性的场景。
可选:提交已赋值的表单
如果需要提交填好的表单,直接用submit_form()即可:
submitted_session <- submit_form(sp.session, filled_form)
内容的提问来源于stack exchange,提问作者zerocool
相关产品推荐
相关产品推荐

