我做了一个小项目,而这就是我要做的事情:
我将Qt ui与webView小部件一起使用,我想从网页的源代码中提取特定信息。它是组件的订购代码。 在这个例子中,我要提取的部分是1758990:
<div id="productDescription">
<div class="brandLogo">
<a href="http://uk.farnell.com/multicomp">
<img id="supplier_logo" src="http://uk.farnell.com/productimages/promo/en_GB/2217096.jpg" alt="MULTICOMP"/>
</a>
</div>
<ul>
<li>
<strong>Manufacturer:</strong>
<a href="http://uk.farnell.com/multicomp">
MULTICOMP
</a>
</li>
<li>
<strong>Order Code:</strong>
1758990
</li>
<li>
<strong>Manufacturer Part No</strong>
MC0402B821K500CT
</li>
</ul>
<ul id="technicalData">
<li>
<a href="http://www.farnell.com/datasheets/1859359.pdf" target="_blank" ><span class="pfIcon pfPdf" title="Technical Data Sheet (877.82KB) EN"> </span>Technical Data Sheet (877.82KB) EN</a>
</li>
</ul>
</div>
我想使用此订单代码并将其放入变量中。其余的我会管理,但我找不到正确的工具来找到代码(这是永远不会相同)。我设法使用toHtml()函数从页面中提取整个源代码并尝试将其导出到textEdit,但我真的不知道它可能具有什么用途。 我该怎么用?
提前谢谢。
(我也很抱歉,我在提问时非常陌生,所以请原谅我,如果我提出写作惯例)
修改 我试图使用findFirstElement()函数,但我找不到正确的查询来仅提取1758990。 我可以提取&#34;订单代码:1758990&#34;使用findFirstElement(&#34; #productDescription li:nth-child(2)&#34;)但我只想要订单代码:。(
答案 0 :(得分:0)
好的,我找到了一种方法(当然不是最干净的方式......)
我有一个按钮来检索代码:
void browser::on_Addtodbbtn_clicked()
{
QWebElement code = ui->webView->page()->mainFrame()->findFirstElement("#productDescription li:nth-child(2)");
QString OrderCode = code.toPlainText(); // at this point, OrderCode = "Order Code: 1758990"
OrderCode.remove("Order Code: "); // I remove the part I don't want
qDebug() << "OrderCode:" << OrderCode; // Here you go
}