| 
 Название: Вопрос по QtWebkit
 Отправлено: redcouch от Июля 17, 2010,  12:17
 
 Здрасте.Нужно написать прогу, которая заполняла бы на сайте одну из нескольких форм, ставила флажок и делала сабмит. С этим всем особых проблем не возникало. Я сделал QWebView, искуственно вызывал события нажатия клавиш - через задницу, но форма заполняется. Но проблема в чем - при нажатии кнопки сабмит, например, в Хроме открывается еще одна страница, а в моем браузере не происходит ничего. В этом вся суть - без новой страницы не получается того, что мне нужно. Как можно решить проблему?
 Может как-то не очень ясно выразился, но если кто-то не против помочь, то мой icq 354141704.
 
 Название: Re: Вопрос по QtWebkit
 Отправлено: SimpleSunny от Июля 17, 2010,  12:41
 
 Забыть про QtWebKit и использовать QNetworkAccessManager. Примеры работы можно найти в документации. 
 Название: Re: Вопрос по QtWebkit
 Отправлено: redcouch от Июля 17, 2010,  15:19
 
 Еще.  <script type="text/javascript"> var url = "GetCustomerData.php?id="; // The server-side script
 function handleHttpResponse() {
 if (http.readyState == 4) {
 if(http.status==200) {
 var results=http.responseText;
 document.getElementById('divCustomerInfo').innerHTML = results;
 }
 }
 }
 function requestCustomerInfo() {
 var sId = document.getElementById("txtCustomerId").value;
 http.open("GET", url + escape(sId), true);
 http.onreadystatechange = handleHttpResponse;
 http.send(null);
 }
 function getHTTPObject() {
 var xmlhttp;
 if(window.XMLHttpRequest){
 xmlhttp = new XMLHttpRequest();
 }
 else if (window.ActiveXObject){
 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 if (!xmlhttp){
 xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
 }
 }
 return xmlhttp;
 }
 var http = getHTTPObject(); // We create the HTTP Object
 </script>
 <h1>Aaoiia?na?</h1>
 <a href="auto.ria.ua/" target="_blank">auto.ria.ua</a><br>
 <form method=post action="">
 <label><input type="checkbox" name="ukrain" checked>Ia?aaiaeou ia oe?aeineee</label><br>
 <label><input type="checkbox" name="watermark" >Aiaaaeyou aioa?ia?e(aiaiue ciae)</label><br>
 
 <br>
 <b>Iaeneioi iauyaeaiee:</b><br>
 <input type="text" name="limit" value="10">
 <br>
 <br>
 <label><b>Iioee aaou:</b></label><br>
 Io: <input type="text" name="from" value="16.05.2010"> (iai?eia?, 18.02.2010)<br>
 Ai: <input type="text" name="to" value=""><br>
 <br><label><b>Ia?ea e iiaaeu:</b></label><br>
 Ia?ea:
 <select name="marka">
 <option value=""></option>
 <option value='1' >AC</option>
 </select><br>
 Iiaaeu:
 <span id='model'>
 <select name='model'>
 <option value=""></option>
 SELECT ID, MODEL FROM AUTO_MODEL WHERE TRADEMARK=0		</select>
 </span>
 <br>Auaa?eoa ionoia cia?aiea, anee ia iaai oeeuo?iaaou ii ia?ee eee iiaaee
 <br><input type="submit" name="submit" value="Nio?aieou iano?ieee">
 
 </form>
 <form method='post' action = 'auto.ria.ua/index.php' target="_blank">
 <h3>Ia?neia ii aeaiaciio ID</h3>
 Io: <INPUT TYPE="text" NAME="from_id"><br>
 Ai: <INPUT TYPE="text" NAME="to_id"><br>
 <INPUT TYPE="checkbox" NAME="parse_all">Ia?neou ANA iauyaeaiey(aa?a oa, eioi?uo iao a iienea)
 <br><br>
 <INPUT TYPE="submit" value="Ia?aou ia?neia" name="submit_ID">
 </form>
 
В последней форме нужно сменить таргет, чтобы загружалось в этой же странице. Пытался дойти к ней с помощью  webEl = webView->page()->mainFrame()->documentElement().lastChild();Но оно как-то не особо хочет, например, я не могу вывести названия тега: qDebug() << webEl.tagName();Как-то тяжко работать с JS, не понятно, где и что сделал не так. Как можно сменить параметр?
 
 |