qt 操作html,如何在Webkit窗口中操作页面内容(使用QT和QTWebKit)?

请查看下面的示例.它使用

QWebView加载谷歌页面.然后使用QWebFrame类查找与搜索编辑框和“谷歌搜索”按钮对应的Web元素.使用搜索查询更新编辑框,然后单击搜索按钮.

加载页面:

QWebView::connect(ui->webView, SIGNAL(loadFinished(bool)), this, SLOT(on_pageLoad_finished(bool)));

QUrl url("http://www.google.com/");

ui->webView->load(url);

on_pageLoad_finished实现:

void MainWindow::on_pageLoad_finished(bool ok)

{

if (ok)

{

QWebFrame* frame = ui->webView->page()->currentFrame();

if (frame!=NULL)

{

// set google seatch box

QWebElementCollection collection = frame->findAllElements("input[name=q]");

foreach (QWebElement element, collection)

element.setAttribute("value", "how-to-manipulate-pages-content-inside-webkit-window-using-qt-and-qtwebkit");

// find search button

QWebElementCollection collection1 = frame->findAllElements("input[name=btnG]");

foreach (QWebElement element, collection1)

{

QPoint pos(element.geometry().center());

// send a mouse click event to the web page

QMouseEvent event0(QEvent::MouseButtonPress, pos, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);

QApplication::sendEvent(ui->webView->page(), &event0);

QMouseEvent event1(QEvent::MouseButtonRelease, pos, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);

QApplication::sendEvent(ui->webView->page(), &event1);

}

}

}

}

希望这有帮助,问候

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值