【问题标题】:Writing web forms filler/submitter with QT C++使用 QT C++ 编写 Web 表单填充器/提交器
【发布时间】:2011-04-22 13:59:54
【问题描述】:

我对如何完成以下任务一头雾水:我需要用 QT C++ 编写一个简单的 Web 表单填充器/提交器,它执行以下操作:

1) 加载页面 url 2) 填写表格字段 3) 提交表格

听起来很简单,但我是一名网络开发人员,找不到如何让 QT 完成任务的方法,我只设法使用 WebKit 加载带有 QWebView 对象的 url,不知道下一步该做什么,如何填写字段并提交表格。有任何提示、教程、视频吗?我很感激。

【问题讨论】:

  • 我认为当您从 QWebView 填写并提交表单时,它应该发送到服务器。那你在问什么?
  • 我什至不知道如何让 QWebView 填写和提交表单,我只设法加载了 url。不知道如何执行“填写”和“提交”步骤。比如我加载google.com,想输入关键字“beacon”,然后点击“Search”……怎么做?
  • 您是想自动填写“信标”一词并进行搜索,还是只想将其公开给用户?
  • 我希望用户看到填写的表单 + 然后自动提交。看起来像:打开表单(加载 url),填写表单,提交表单。用户需要看到这个来控制流程。

标签: qt automation webkit qtwebkit autofill


【解决方案1】:

QWebElement 类完成了所有工作,只需阅读类文档,我就可以全面了解如何完成我的任务。感谢大家的建议。

【讨论】:

    【解决方案2】:

    最好的解决方案是在 JavaScript 中编写执行您想要的逻辑,然后在加载完成后使用 QWebFrame::evaluateJavaScript() 将其注入页面。

    还有另一种方法可以做到这一点;涉及自 4.6 以来在 QtWebKit 中可用的文档树遍历 API:QWebElement。您基本上可以像在 JavaScript 中那样处理表单,只是这里的 API 有所不同且更受限制。它虽然是 C++,但可能会快一点。我想,考虑到您是一名 Web 开发人员并且可能已经了解 JavaScript,这种方法对您的吸引力可能会降低。

    【讨论】:

    • 感谢 Jakubm 我正在考虑使用 javascript,但如果通过 QWebElement 实现,该怎么做?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-19
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多