您的位置:首页 > 编程语言 > Qt开发

QT 操作记录,待实践

2014-09-28 07:32 387 查看
一、C++实现

QWebFrame* frame = webView()->page()->currentFrame();
if (frame!=NULL){
QWebElementCollection collection1 = frame->findAllElements(“input[name=submit]”);
foreach (QWebElement element, collection1){

QPoint poss(element.geometry().center());
QPoint pos = this->topLevelWidget()->mapToGlobal(QPoint(0,0));
QMouseEvent event0(QEvent::MouseButtonPress, pos, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
QApplication::sendEvent(webView->page(), &event0);
QMouseEvent event1(QEvent::MouseButtonRelease, pos, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
QApplication::sendEvent(webView->page(), &event1);
}
}


这种方法对于纯HTML的网页有效,但是javascript实现提交功能的网页不一定有效。

二、javascript实现

调用

evaluateJavaScript(code);


三、两者结合实现

QWebFrame* frame = webView()->page()->currentFrame();
if (frame!=NULL) {
QWebElementCollection collection1 = frame->findAllElements(“input[name=submit]”);
foreach (QWebElement element, collection1){
element.evaluateJavaScript("this.click();");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: