【问题标题】:rvest Web Scraping: Getting http form from site with web-shell-spinnerrvest Web Scraping:使用 web-shell-spinner 从站点获取 http 表单
【发布时间】:2022-09-25 08:17:32
【问题描述】:

我正在尝试从以下站点提取表单: \'https://app.qbo.intuit.com/app/login?loadCustomerAssistanceAssets=us&product=qbOnline\'

但是,这些似乎是一个 web-shell-spinner 阻止我这样做。

# Get url
main_url <- \"https://app.qbo.intuit.com/app/login?loadCustomerAssistanceAssets=us&product=qbOnline\"

# Connection
session.1 <- session(main_url)
http_response <- html_form(session.1)

仅运行 html_form(session.1) 行时,我得到一个空列表:

我很确定这与 QuickBooks 网站上的网络微调器有关:

关于如何提取表单和 POST HTTP 请求以登录的任何想法?

谢谢,

  • 问题是您似乎正在使用 rvest 并且 rvest 无法执行 javascript。您看到的表单很可能是通过 javascript 生成的,并且不在实际的 HTML 页面源中。您在“元素”选项卡中看到的不一定是加载的内容。请务必检查 rvest 实际能够看到的文件的“来源”选项卡。如果您需要与使用 JavaScript 的页面交互,则需要使用类似 RSelenium 的东西。

标签: html r http


【解决方案1】:

这是一个如何导航到页面的示例,在表单中输入您的用户名并单击“登录按钮”。

library(RSelenium)

url <- "https://app.qbo.intuit.com/app/login?loadCustomerAssistanceAssets=us&product=qbOnline"
shell('docker run -d -p 4445:4444 selenium/standalone-firefox')
remDr <- remoteDriver(remoteServerAddr = "localhost", port = 4445L, browserName = "firefox")
remDr$open()
remDr$navigate(url)

web_Obj_Username <- remDr$findElement("xpath", '//*[@id="ius-signin-userId-input"]')
web_Obj_Username$sendKeysToElement(list("myusername"))

web_Obj_Signin <- remDr$findElement("xpath", '//*[@id="ius-identifier-first-submit-btn"]')
web_Obj_Signin$clickElement()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-08
    • 1970-01-01
    • 2020-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多