I am trying to extract some data from an HTML document but for some reason my program crashes because of the code below. the program crashes when I capture the variable info_data in my lambda function. any help would be appreciated.

Qt Code:
  1. QString WebView::retData_Html()
  2. {
  3. QVariant info_data;
  4.  
  5. this->page()->runJavaScript("function retContactDetails(){"
  6. "var x = document.getElementsByClassName(\"result\");"
  7.  
  8. "var detailsArray = [];"
  9. "var companyName;"
  10. "var contactNumer;"
  11. "var address;"
  12.  
  13. "var i;"
  14. "for(i = 0; i < x.length; i++){"
  15.  
  16. "var child_nodes = x[i].children;"
  17.  
  18. "var j;"
  19. "for(j = 0; j < child_nodes.length; j++){"
  20.  
  21. "if(child_nodes[j].className == \"resultName\"){"
  22. "companyName = child_nodes[j].firstElementChild.innerHTML;}"
  23.  
  24. "else if(child_nodes[j].className == \"resultAddress\"){"
  25. "address = child_nodes[j].textContent;}"
  26.  
  27. "else if(child_nodes[j].className == \"resultContact\"){"
  28. "contactNumer = child_nodes[j].firstElementChild.textContent;}"
  29.  
  30. "}"
  31. "detailsArray.push(companyName);"
  32. "detailsArray.push(address);"
  33. "detailsArray.push(contactNumer);"
  34.  
  35. "}"
  36.  
  37. "return detailsArray.toString();"
  38. "}"
  39. "retContactDetails();",[&info_data](const QVariant &infoData){info_data = infoData/*qDebug() << infoData.toString() <<endl*/;});
  40.  
  41. return info_data.toString();
  42.  
  43. }
To copy to clipboard, switch view to plain text mode