/* tst.h* QWebElement email;* QWebElement pass;* QWebElement button;*/tstt::tstt(QWidget *parent, Qt::WFlags flags) : QMainWindow(parent, flags){ ui.setupUi(this); ui.webView->load(QUrl("http://skyunicorn.ucoz.ru/index/0-2")); ui.webView->settings()->setAttribute(QWebSettings::JavascriptEnabled,true);}tstt::~tstt(){}// заполнение полей авторизацииvoid tstt::on_pushButton_clicked(){ ui.webView->page()->setContentEditable(true); email = ui.webView->page()->mainFrame()->findFirstElement("input[name=user]"); pass = ui.webView->page()->mainFrame()->findFirstElement("input[name=password]"); email.setAttribute("value","atatata"); pass.setAttribute("value","321345");}// ни 1 способ не дает результата =(void tstt::on_pushButton_2_clicked(){ // тут находятся нижеследующие ф-ции}
// пытаюсь нажать кнопку button = ui.webView->page()->mainFrame()->findFirstElement("input[type=submit]"); button.evaluateJavaScript("submit()");
// пытаюсь вызвать функцию которую посылает форма (функция уже есть в странице) ui.webView->page()->mainFrame()->evaluateJavaScript("sendFrm549707();return false;");
// попытка вставить свой собственный скрипт ( автоматическая отправка формы через 5 секунд) QString cod = ("<script type=\"text/javascript\">\ setTimeout(function(){document.getElementById('frmLg549707').submit()},5000)\ </script>"); ui.webView->page()->mainFrame()->evaluateJavaScript(cod);
C++ (Qt)QNetworkAccessManager magaer;QNetworkReuqest request;request.setRawHeader("Referer", "blabla");request.setUrl(QUrl("http://example.com/form.php"));manager.post(request, "name1=value1&name2=value2");
button = ui.webView->page()->mainFrame()->findFirstElement("input[type=submit]"); button.evaluateJavaScript("click()");
C++ (Qt)#include <QtGui>#include <QVBoxLayout>#include <QWebView>#include <QWebFrame>#include <QWebElement>#include <QMessageBox> MainWindow::MainWindow(){ QVBoxLayout* centralLayout = new QVBoxLayout(this); QWebView* webView = new QWebView(this); webView->setHtml("<html><body><form><input type=\"submit\" onclick=\"alert(1); return false;\">TEST</button></form></body></html>"); centralLayout->addWidget(webView); QWebElement button = webView->page()->mainFrame()->findFirstElement("input[type=submit]"); if (button.isNull()) QMessageBox::critical(this, "", "error"); button.evaluateJavaScript("this.click();"); setLayout(centralLayout);}
<div class="block"><div class="blocktitle"><!-- <bt> --><!--<s5158>-->Форма входа<!--</s>--><!-- </bt> --></div><div class="blockcontent"><!-- <bc> --><script type="text/javascript">sendFrm549524=function(){ var o=$('#frmLg549524')[0],pos=_uGetOffset(o),o2=$('#blk549524')[0]; document.body.insertBefore(o2,document.body.firstChild); $(o2).css({top:(pos['top'])+'px',left:(pos['left'])+'px',width:o.offsetWidth+'px',height:o.offsetHeight+'px',display:''}).html('<div align="left" style="padding:5px;"><div class="myWinLoad"></div></div>'); _uPostForm('frmLg549524',{type:'POST',url:'/index/sub/',error:function() { $('#blk549524').html('<div align="left" style="padding:10px;"><div class="myWinLoadSF" title="Невозможно выполнить запрос, попробуйте позже"></div></div>'); _uWnd.alert('<div class="myWinError">Невозможно выполнить запрос, попробуйте позже</div>','',{w:250,h:90,tm:3000,pad:'15px'}); setTimeout("$('#blk549524').css('display','none');",'1500'); } });}</script><div id="blk549524" style="border:1px solid #CCCCCC;position:absolute;z-index:82;background:url('http://s57.ucoz.net/img/fr/g.gif');display:none;"/><form id="frmLg549524" action="/index/sub/" method="post" style="margin:0" onsubmit="sendFrm549524();return false;"><table border="0" cellspacing="1" cellpadding="0" width="100%"><tbody><tr><td width="20%" nowrap="nowrap">E-mail:<a href="javascript://" rel="nofollow" onclick="new _uWnd('HelpWd','Помощник',360,150,{align:'justify',closeonesc:1},{url:'/index/90-7'});return false;" class="noun"><img alt="" title="uID поддержка" src="http://s57.ucoz.net/img/ma/uid.gif" style="border:0;vertical-align:-4px;"/></a></td><td><input class="loginField" type="text" name="user" value="" size="20" style="width:100%;" maxlength="50"/></td></tr><tr><td>Пароль:</td><td><input class="loginField" type="password" name="password" size="20" style="width:100%" maxlength="15"/></td></tr></tbody></table><table border="0" cellspacing="1" cellpadding="0" width="100%"><tbody><tr><td nowrap=""><input id="remsitePage2" type="checkbox" name="rem" value="1" checked="checked"/><label for="remsitePage2"></td><td align="right" valign="top"><input class="loginButton" name="sbm" type="submit" value="Вход"/></td></tr><tr><td colspan="2"><div style="font-size:7pt;text-align:center;"></td></tr></tbody></table><input type="hidden" name="a" value="2"/><input type="hidden" name="ajax" value="1"/><input type="hidden" name="rnd" value="524"/></form><!-- </bc> --></div></div>
<td align="right" valign="top"><input class="loginButton" name="sbm" type="submit" value="Вход"/></td>
C++ (Qt)button.evaluateJavaScript("click()");
C++ (Qt)button.evaluateJavaScript("this.click();");